Now that the analysis query has been run we are evaluating the results to determine the best remediation solution.  It will probably come down to a replacement of obvious malformed extensions with the correct extension.  I will use a variation of the query above substituting RegExFind with RegExReplace. 

One important note when using this method is that is quite costly in terms of performance.  In our case it is being applied as part of a one time data maintenance and cleanup operation.  I would not recommend using COM Automation like this in a high throughput stored procedure without careful thought first.  At this stage it is probably well worth upgrading to SQL Server 2008 and using the CLR.