Now I already have a seperate style sheet set up for NS and Opera (as they both appear to display the same set of problems) to fix the problems in them - so any neccessary changes could be made to just the NS CSS - unless it's IE that's allowing invalid code (which it could be).

Ok adding float: left; to the venue one and removing the spacer div from the output (the one with the clear: both; ) as I assumed that was clearing the main margins - which would account for the problem in NS almost sorts it.

By almost sorting it I mean that it works fine - until the first comment div that runs onto two lines see:

Ok I've uploaded it here: www.primaryevasion.com/gigs.php
I can't guarentee how clean the html output by the php is to read as I don't include /r or /n in the output, but it seems cleaner than some dynamic stuff.

This is so the side border divs are forced to be the full size of the frame (by setting their height: 100% even when the content doesn't fill the frame. However looking at the online example, NS seems to set this value to only the visible frame when the browser starts... whereas IE includes both the visible frame and any content that is off the page and you can only get to via scrolling.