Thanks for posting. It's a difficult problem at times; I was hoping I could borrow your approach for my own situation. But doing the True General Proc for this kind of thing would have to be a major project in its own, I can tell you.
My own situation is copying from ASE to SS; there are so many issues to be found - even things like "user copied a string with smart quotes from MS Word into a varchar field"; which is a character set incompatability no matter how well you try to match them.
My own choice to generate line-based text files and use Unix's sort/diff to get the cross platform differences had its problems too.
On pure SQL Server, however, I'm usually just using "except" with a little logic. Running on 64-bit servers, it's amazing how much can be done how quickly to find differences between results (not just "base tables", any result).
You gotta do what works. Too bad Fabian Pascal's predicted world of DRDBMS never came to pass.
Roger L Reid