It's not a problem when joining a server (at least not with gpp1), only when loading maps locally.
The problem is tha a local server loads, for example, both map-nano.pk3 and map-nano-beta4.pk3,
even when you play beta4 it will still use the shader file from the final release because that pk3 is loaded first.
(this is the case for any file, not just shader files).
When you join a server the client should only load those pk3's the server has, so it will load
beta4 or final (not both) and everything will be allright. I did a test with a LAN tremded and it works fine.
Besides that, it is my less-than-subtle way to tell server owners they should update their maps.