It is extremely unlikely that code file of identical content would behave differently.
From your description of situation I see two possibilities:
- File does get changed for some reason, you should not only upload clean copy, but actually compare what you have on server at that point against what you have locally
- You are mis-identifying upload as the key fix, it might be just related to upload or even completely coincidental
In your situation I would add some debug code (discreetly for admins) that would dump the current state of $_wp_theme_features
global to see if it actually changes from expected, possibly during different stages of admin load.