I have created two web sites. One is "production" and the other "dev". Each is a virtual host and both are on a single server running apache. Both sites are loaded with the same code base: WP 3.5.1, a base theme and a child theme. This is not a multi-site setup; just two sites loaded in different directories.
The page in question uses a page template. In the page template there is some switching in PHP code to choose what to display. The switching is based on the $current_user->ID. If ID is null or zero display a logon block otherwise look up some data to present.
This works fine on the dev site. It does not work on the production site. Something is different. I checked .htaccess, the virtual host declaration in apache, and the settings for WP and the theme. They all appear to be the same. I have run delta checks on the code and the two sets of files are identical.
What other config settings might be in play here?