O.K., now down to solving your problem...
I would do this with a UDF that calls itself recursively. It is not the fastest approach but it will work and not be a total bear to maintain.
The UDF should use the char_index function to locate and the substring function to drop an additional quote character into the string. It then takes calls itself with the remainder of the string as the parameter. This takes care of the situation where there is more than one single quote in the string that you have to fix. The exit from the recursion is when no un-escaped single quotes are found.
In pseudo code, the function would be something like the snippet below.
Regards,
Bill