Hola,
Puede que el compilador se "pare" en la línea de la condición, pero, para mí que el problema es anterior, justamente, cuando llamas a "OpenFileConfig". Es decir, no se trata de que no puedas comparar dos cadenas, diría yo, sino que, el error se da al intentar usar "OpenFileConfig".
La verdad es que no estoy muy puesto en el tema. Se me ocurre que el "stdcall" no deba estar ahí, puesto que la función de la DLL retorna un "String". Tal vez sea que dicha función no debería retornar un "String", sino un "PChar", por lo que he dicho ahora mismo en
este hilo, o acaso no basta con declarar como "externa" la función de marras, sino que, hay que "cargar" la DLL y buscar el procedimiento, antes de ejecutarlo...
Quizás algún otro compañero puede aportar alguna otra cosa al respecto.