Then I don't have any explanation - it doesn't make any sense. Just compiling the same thing twice makes no difference. If it did, it must mean that it wasn't compiled correctly before.
Didn't you actually trigger database synchronization as well?
Can you please compare the database queries before and after the compilation?