Just tried Tim's suggestion from the list. I reverted to 2.7 and I added the following before the OpenLayers.js script tag:
<script type="text/javascript">
if(document.namespaces == null){
document.createElement('namespaces');
}
</script>
I was back to the original error.
I know the IE8 team made made a lot of changes between the Betas and RC1, and then some more last minute changes that weren't in the RC1. I suspect a lot of the suggestions out there are out of date as they refer to Beta or RC versions.