OK, I got websocket working in my client again.
I'm implementing the websocket protocol myself in C++ on a raw socket so this is probably not relevant to those using javascript in browsers.
It turns out that the MtGox websocket now requires properly framed messages as per RFC6455.
A while ago only the Socket.IO required the RFC6455 framing.
Before I was getting away with just this minimal framing for websocket: [0x00] ....RAW STRING DATA... [0xFF]
Now you need the RFC6455 framing function, I posted C code earlier in this thread.
Now I need to get my socket.io implementation working also

WebSocket + JSON == WASTED_BANDWIDTH