Unabhängig davon, dass ich so was vermeiden würde:
1) Böse Programmierung
Du könntest in Deiner Anwendung eine Datenstruktur instanziieren und in der Lib einen globalen Pointer auf eine solche Struktur. Beim Programmstart die Adresse der Anwendungsstruktur an den Lib-Pointer übergeben, oder noch besser zyklisch, um keine Probleme bei Online Changes zu bekommen.
2) Weniger böse Programmierung
Du könntest in der Lib ein Interface mit Eigenschaften deklarieren und global instanziieren. In der Lib über die Interface-Eigenschaften auf die Daten zugreifen. In der Anwendung dann einen FB schreiben, der dieses Interface implementiert, und beim Programmstart die Adresse der FB-Instanz in die globale Interface-Variable der Lib schreiben.