Ah. You can do it almost all of it with a single regular expression search-and-replace. This gets you everything except cleanup on the leading digit. I assume the leading number can go above 9; that makes the regex a little harder if you want to do cleanup. If that's not the case, add a 0 to the beginning of the replace string and it'll do everything you want.
Find: ^(\d+)'(\d\d).(\d+)\d\s+(Start|End)$ Replace: $1:$2:$3
Just record a new macro, do "Replace All" with the above parameters, and save. The search and replace strings will get saved in the macro.
Of course, search and replace isn't the right tool for the job. :-) Here's a little Python script that you can save as a bundle command. Set the input to "Selected Text or Document" and the output to "Replace Selected Text". This script has the benefit of rounding values (0'12.9999 becomes 00:13:000) and dealing with pathological cases (0'99.1234 becomes 01:39.123).
#! /usr/bin/env python import re import sys regex = re.compile(r"^(\d+)'(.*?)\s+(Start|End)$") for line in sys.stdin: mo = regex.match(line.strip()) if mo: ms = round((int(mo.group(1))*60.0 + float(mo.group(2))) * 1000.0) mm = int(ms/60.0/1000.0) ms -= mm*60.0*1000.0 ss = int(ms/1000.0) ms -= ss*1000.0 print '%02d:%02d:%03d'%(mm,ss,ms)