In my tinkering with it, it certainly seemed like the error messages I'd get would match where the print statements stopped printing.
So, if the error was something like "incorrect syntax near FROM", the print statement would cut short some of the table name.
I'm currently using varchar(max) so it does print as much as possible for debugging. I'll try nvarchar(max) out and see if it executes.
All this EAV nonsense is making me want to learn Java or something. Sheesh.