Deine Beschreibungen sind zwar gut fundiert und umfangreich, decken aber das im Originalpost verwendete Verfahren nicht ab. Dabei werden die IDs zwar über einen Generator in der
DB erzeugt, aber von der Client-Komponente an den Server übertragen. Das hat den Vorteil, und genau darum geht es hier gerade, dass die IDs dem Programm schon vor dem Speichern des Datensatzes in der
DB bekannt sind.
Grundsätzlich ist das ein von FireDAC unterstütztes Vorgehen. Ob man es selbst anders realisieren würde steht nicht zur Debatte, weil wir die konkreten Anforderungen nicht kennen.
Es geht also schlichtweg darum, ob und wenn ja welche einzelne Einstellungen in den Komponenten nicht korrekt sind oder ob womöglich ein Bug in der verwendeten Delphi-Version vorliegt, der in späteren Versionen behoben wurde.