Why am I seeing different behavior between development and staging environments, even after promoting the Customer Portal page to staging?
When Customer Portal files are promoted to staging, the files are optimized in several ways. This is done for the purpose of maximizing performance of the production system.
Because the code is not optimized in development, you might see a difference in behavior between the development environment compared to the staging environment. In particular, code syntax errors within custom code may only produce problems in the staging environment. To get a clear and accurate representation of any changes made, the staging environment (after staging changes) is where final testing should take place, before promoting changes to production.
For further detils see Answer ID 6737: Staging looks different than Development after Promoting!