Hi Olivier,
This makes some sense. I'm sure it could be advantageous in some applications. These are some disadvantages I can think of: the JSONP server sees all the requests coming from one server (your Node.js server) - if it's a third party server, they might interpret the traffic as an attack and block your IP; increased inbound and outbound bandwidth usage on the Node.js server; using up connections on your Node.js server (those connections that are being spent getting data from the JSONP server could perhaps be better spent serving more users); increased latency. All unnecessary, just to achieve a cleaner client side coding style with one transport, right? Because your other advantages are silly - "easy to use" (so is jQuery's JSONP reader); "no cross-domain issues" (that's sort of the point of JSONP); "based on well-known technologies" (your library and Socket.IO are much less known than the JSONP/AJAX/HTTP standards); "multi-purpose transport that can stream binary data too" (well yes, the non-JSONP part can stream binary data; the JSONP part can only stream JSONP data...).
If the server was doing something that the client couldn't, then there's a possible advantage. Like if the client was something so thin that it didn't have AJAX capabilities - but then how would it be communicating with the Node.js server? Or if the server was just statically retrieving and serving the JSONP as a static page - but that has nothing to do with this proxying idea. So I honestly can't come up with anything that sounds like a real advantage to me... Sorry...
I stand by everything I said about exposing a database to clients. To everyone reading this, please do not expose client-side access to your database. Olivier, maybe you could write another post on your blog about this topic, like your approach to securing it?
-Richard