Thanks again for the varied responses. My main concern right now is to get this thing running reliably with minimum hassle. I've not had any connection related problems aprt from this "set names" related stuff. For now I'll take the minor hit of an extra query per request and issue "set names" every request - this does seem to reliably solve the problem (I temporarily set the timeout period to 1 second to validate this).
A better fix would really be to compile mysql to have utf8 as default character set - I may get around to that one day ... but much more important things to do right now ...