Recently, we needed to compare differences between two assemblies that we had expected to be identical in content although they had different time stamps and assembly versions.
Red Gate Reflector came in handy and did the job rather well. However, we initially got “weird” results. After some thought, we figured out the reasons which I felt to share with world. Our binaries were compiled against the .Net 4.0 Framework. However, in its attempt to be super flexible, Red Gate defaulted to the latest .Net Framework installed on the host machine which was .Net 4.5 for me, as it decompiled the code. Differences may not have been major, but it led to a bit more manual work to verify that the differences found between the decompiled files are merely due to decompilation. Redoing the process over again gave us the deterministic results we needed as decompiled files of the two assemblies matched perfectly.
So, be careful in selecting the target .Net Framework version as you run your decompiler!