I discovered the problem with my installation. The MySQL user that was specified in the wp-config file to access the WP db did not have the “DELETE” privilege which is required to change the theme. The code tries to delete the “current_theme” option from the wp_options table – when the op fails due to an access denied error the code falls back to using the default theme. I changed the MySQL user privileges and the Current Theme now updates as different themes were selected.
The problem was easily solved after I took a look at the Apache server’s log file and saw the error msg generated by WP when the MySQL error occurred.