Sowas wird gelegentlich auch durch gleichnamige Typen in dem unterschiedlichen Scope der beiden Klassen ausgelöst.
Wo sind die Typen deklariert? Ich vermute mal in beiden Units; dann sind sie für den Compiler 2 verschiedene Typen, welche zufällig gleich heißen.