When an obfuscated app needs for example .net 3.5 and its not installed, the app starts and does "nothing". Of course the automated error reporting sends an message that System.Core v3.5 was not found. But that is not helpful at all for the user or admin.

Is there any way to avoid this specific problem to be caught and reported instead of reporting to the user?

I'm assuming you've implemented a custom error dialog or have chosen the option not to display a dialog. Since this is a technically a binding failure, it will happen before the window pops up. All I can think to do is use the SDK to create a custom error handler that displays a window when there is a binding failure and to report silently on any other type of exception.

It's been awhile since I looked into anything like this, but if you implement your own custom "UnhandledExceptionHandler" I think you may be able to put something in there that will display a messagebox on a binding failure. Have you tried it?