Yes: This contains syntactical errors. Would it be syntactically correct it would take the first 145 characters (in two groups, 94 and 51 chars) and replaces these by a single space.
Do the following:
sed 's/^\(.\{94\}\)\(.\{51\}\)/\1<b><b>.....51 blanks...<b>/' infile > outfile
You put the first 145 characters into two groups: "\(....\)" is a group each, the first consists of ".\{94\}" (any character, 94 times), the second similarly of 51 chars. This is replaced by: the first group ("\1"), so this is effectively unchanged, then 51 blanks. The rest of the line is left untouched. Notice, that i used "<b>" to denote a blank, otherwise it would be hard to read in the forum.
Appreciate the detailed explanation, which is what i was hoping for than just an answer. your explanation helped me a lot to get my head around some basics of sed which I'm still learning.