Using php to echo a meta refresh redirect instead of the php header appears to have fixed the problem. All the code works, there is no going to quirks mode and back to IE9 mode, and the meta does not get ignored.
Additional Info
I spoke to a software/web programmer personally and he doesn't know offhand why this error occurred. However, his opinion is that if meta refresh works instead of php headers, there is no problem using it instead.