Update: 28/2
This is not the way to do it, but it works until I find the real (correct answer).
Because I noticed that the map would render if I refreshed it, I created a separate dot html page called 'map'. In that page I just put the standard google map iframe code into it. In the head of the page I inserted some script that would force a one time refresh after 1 second. Here is the whole code
Code:
<html>
<head>
<script>
function checkit(){
myvar = location.search.substr(1);
if (myvar=="b"){
}else{
setTimeout("location.href=location.href+'?b'",1000);
}}
window.onload=checkit;
</script>
</head>
<Body>
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?hl=en&ie=UTF8&msa=0&msid=104737903513077362845.0004491d3bbdfeb5f76d6&ll=58.392356,-3.249893&spn=0.125955,0.291824&z=11&iwloc=0004491d3f630c68a4234&output=embed"></iframe><br /><small>View <a href="http://maps.google.com/maps/ms?hl=en&ie=UTF8&msa=0&msid=104737903513077362845.0004491d3bbdfeb5f76d6&ll=58.392356,-3.249893&spn=0.125955,0.291824&z=11&iwloc=0004491d3f630c68a4234&source=embed" style="color:#0000FF;text-align:left">Canisp House Bed and Breakfast</a> in a larger map</small>
</body>
</html>
I then call this page into my wordpress content simply by using an iFrame. When the page loads, after 1 second the map refreshes and renders in IE8.
As I mentioned earlier, this is not the correct way, but at least I can show visitors where I am.
BTW, I tried all of the css fixes, and that came to nought. There is something that is conflicting with my particular site that I cant fathom out at the moment. I've heard people mention a bug in IE8, but I don't completely buy into that, as it works fine with my sandbox site.
I am open to any hints, suggestions.
Thanks
John