SteveWh - 8:34 am on Mar 14, 2012 (gmt 0)
Does the server return /sub/page2.html? That's what my Apache servers would return for /sub/page2.html/Page-2-Buy-Now . It seems to ignore the trailing garbage after the legitimate page URL, as long as it can turn the initial portion of the page request into something legitimate. (BTW, this is with mod_negotiation not enabled).
There's at least one forum thread here (maybe others) discussing something similar
It never occurred to me that Apache returning a page instead of a 404 might have to do with parsing .htm and .html as PHP. I haven't experimented with a situation where Apache wasn't configured to do that.
I suspect the reason your CSS and images are broken is that although Apache returns a page, the requesting browser considers /sub/page2.html/ to be a subdirectory (from its format), and requests relatively-linked objects from that subdir. Since it doesn't exist on the server, all those requests get 404. I discovered from a similar situation that Firefox 10 does this.
In other words, Apache and Firefox disagree about exactly what page was requested. Apache serves a page where it technically should have sent a 404 instead (the whole URL doesn't actually exist), and the browser is misled about what dir the page came from.