You can't stick to your free version, I'm afraid. There's a built in expiration date in the latest free version; after April 15th 2011 it will no longer work.
(As a side note, it would be interesting to use Reflector to decompile Reflector itself and remove the expiration date or extend it to the far future. I know it's illegal and unethical, but it would be a fun and interesting exercise.)
Most compiled code doesn't have debug info and internal symbols. Yet, changing something like an expiry date is often a trivial task. Obfuscation just means you'll actually have to poke around a bit instead of just searching for "isExpiryDateReached".
Reflector was written by a smart guy. IIRC the obfuscation partly consists of assemblies stored as resources in the executable assembly, and loaded dynamically. But no doubt you're right - it could be disentangled.