Generally speaking, the initial compile is where your theory breaks. The initial compile process creates a binary that is very specific to its target system. When you decompile, you get code that is, no surprise, very specific that same target OS and hardware architecture.
Its probably a bit like English to Mandarin (random language choice). If you translate and lose the original english, you can never get the original english back, never be sure exactly what words and phrases were used.
Im not wild about their reasoning skills.