Vielen Dank, an alle, die sich Gedanken gemacht haben. Habe wohl die Lösung gefunden. Der Fehler steckte nicht in dem Code-teil, den ich gepostet hatte, sondern hier:
typedef BOOL(*SET_THREAD_ERROR_MODE)(DWORD dwNewMode, LPDWORD lpOldMode);
so hätte es gehört:
typedef BOOL(WINAPI *SET_THREAD_ERROR_MODE)(DWORD dwNewMode, LPDWORD lpOldMode);
Das sind so Scheißfehler, wo man lange sucht.