A: 

it is possible to throw exception in unmanaged code, but the exception will eventually be caught by clr and wrapp it as SEH exceptions.

you can read this question:

http://stackoverflow.com/questions/117940/best-practice-for-translating-exceptions-in-c-cli-wrapper-class

Benny
merci for the link! interesting read, after correcting the pointer operation I received the correct exception.
marco4net
+2  A: 

There is something else going on. An ExecutionEngineException is thrown by the CLR when it discovers that the garbage collected heap is corrupted. That's not hard to do when you run unmanaged code in a managed program. A simple buffer overrun is enough. Finding the bug is however not easy.

Hans Passant
Finally found it - a pointer operation assigning a bitmap color with bitshifts - MSDN code sample from '92 and 16bit era. *sigh* Caused a problem that didnt crash the application at all, but much later consistently posed a problem when throwing exceptions (even throw; without arguments) **Thanks for your support!**
marco4net