Question: Is there a way (reliable and preferably not commercial) to prevent from Reflector to reflect my source code???

Thanks,
Adi

Answer: 
No. Reflector looks at your assembly just like the .NET runtime would in order to generate native code to execute. The best you could hope for would be to [obfuscate](https://stackoverflow.com/questions/2525/best-net-obfuscation-toolsstrategy) your code and make it (somewhat) harder for the reader to understand.

Some pros and cons of performing the obfuscation can be found at [Should you obfuscate a commercial .Net application?](https://stackoverflow.com/questions/71195/should-you-obfuscate-a-commercial-net-application)
try dotfuscator. 2005/2008 comes with a community edition. Failing that re-architecture your code (painful) i.e. ATL/COM objects(private) called by the .NET components (public).

Choice is yours.