Using dLookup inside a complex query is a disaster anyway as the function is called again and again for every row that is returned. Not sure why the server side solution would be much better. Using any of the Access functions inside complex or even simple
queries is not recommended - they are as slow as a wet week. They should never be used in such situations. Think about doing such queries in 2 steps - use a MAKETABLE to store intermediate results in a tmp table followed by an INNER JOIN on that table in a
second query. It will speed up your application by a factor of many hundreds.
Anyway the upshot is that client side registry fix DOES WORK, preventing continuous corruptions, and should be used in every case where you do not have direct access to the central server - due to IT not allowing registry changes to shared servers. The
speed problem you are dealing with can easily be overcome.