Yes, I had resaved it before (and ensuring it was being saved as UTF-8 too). NoteTab is a very good text editor and I don't think it's doing anything odd. When I re-save the test page (contaning identical html code), also as UTF-8, it opens, as expected, as html.
Moved the charset declaration up to very top of head - no dice.
I still do think ultimately it's an encoding issue. For some reason FF is seeing it as text/plain. When I copy the code into new page and save, it's seeing that new page as text/html. There has to be something about the original page, some invisible byte or two, that's doing that.
here's one other among a basketful of oddities.
I explained earlier that when I put a html 4.01 content-type meta tag into one of these pages being rendered as plain text, they then showed as html. Then when I take out the content-type meta tag and put back in the html charset definition, it still renders fine as html. I presume that's caching? However, even after clearing cache, I still see that behaviour.