After google-ing a bit I think it is necessary to make a glXmakeCurrent() call before using a gl-call in a new thread (at least for the Nvidia GL-driver, DRI should work). Not all GL-calls are affected but definitely the textures calls.
Well, as said before, Wine is completely broken regarding multi-threaded Direct3D applications.
It worked before because our pthread emulation was broken which lead the GL libraries to not find out at all that they were running in a multi-threaded environment (so the contxt was 'shared' between threads).
I would be pleased to get some ideas as to the way to handle this in a way that does not kill completely our performance :-)
Lionel