One thing's for sure. WINEDLLPATH contains the right directory, but Wine is not looking for the right file in it. And as I explained, I can't see how this will work (from the cursory look I took at it).
every builtin DLLs, when searched without path, ends up with a name of c:\windows<dllname> in wine_dlopen and friends then this function, removes the path part and looks up into the WINEDLLPATH.
A+