Like you've and I've found, apparently the TRY CATCH statement can't catch the extended stored procedures errors:
http://communities.quest.com/community/litespeed/blog/2010/02/08/error-handling-with-the-litespeed-xps
It's a shame, same as when you catch a native backup failure and you don't get the first error raised, only the last.