Ich tipp mal auf verschiedene Speichermanager, einer in deiner Anwendung und einer in deiner
dll. Nutzt du sharemem, runtime packages oder andere Mechanismen um das zu vermeiden?
Mein zweiter Tip nach einem zweiten Blick ist, dass dein Hardcast von argv auf ein array of PWideChar einfach falsch ist.