If my reading is correct, ordinal 2143 is for name DefDlgProcA in user32.dll on my Vista system. DefDlgProcA in user32.dll on my XP system, which is the system where I'm having this problem, corresponds with ordinal 87. My very uneducated guess is that something within my VC or FWH or Harbour libs is assuming that my operating system is something other than XP.
What you suppose is calling User32.dll functions by ordinal rather than name?