Wie mein Vorredner schon sagte:
Funktion in einem Thread aufrufen, auf die Beendigung des Threads warten (
WaitForSingleObject - Timeout nach Wunsch setzen) und beim Eintreffen des Timeouts den Thread terminieren um die Funktion abzubrechen.

Zitat von
sirius:
Ist es evtl. gesünder einen zweiten Process zu starten, den man dann ggf. abschießt?
Am gesündesten wäre es die
DLL zu fixen

. Ansonsten kommt es drauf an was die
DLL macht bzw. was den Fehler verursacht.