Also so wie du es beschreibst würde ich auf eine Kombination aus misslungenem Refactoring und noch vorhandenen .DCUs tippen. Passiert manchmal, wenn man irgendwo Prozeduraufrufe in der Form
Unitname.Prozedurname(Parameter)
im Quelltext hat. Wenn es dann auch noch irgendwo eine Komponente gibt, die zufällig so heißt wie deine Problem-
Unit, dann hast du ganz verloren beim Refactoring. Auch sehr beliebt um sowas zu verursachen ist der Objektinspektor und da die Eventhandler. Da kannst du ratzfatz eine Prozedur umbenennen und mal aus Versehen den Unitnamen eingegeben haben.
Manchmal kommt so ein Fehler dann erst viel später hoch als er eigentlich müsste. Darauf deutet auch hin, dass sich das
Package kompilieren ließ und das Projekt nicht. Wahrscheinlich haben beide unterschiedliche Ausgabepfade und daher auch unterschiedliche DCUs. Genau deswegen löscht man bei Problemen generell alle DCUs und macht einen Fullbuild (bekannt als "Delphi-Hühnersuppe": Hilft immer und keiner weiß wieso ^^)