Wenn man hunderte von Programmen und Serviceprogrammen hat, kann es durchaus mal passieren, dass ein Export beim Binden nicht gefunden wird, da man zwar die Variable/Prozedur korrekt geschrieben aber das Wörtchen "export" dann vergessen hat.
Beim Erstellen des Service gibts nichts auf die Finger (außer bei BinderSource), beim Binden des Hauptprogrammes mit dem Service dann aber bestimmt.

Da ist es tatsächlich in Windows in vielen Dingen einfacher.
Die IDE gibt mir bereits Fehler bei nicht vorhandenen Verweisen oder falschen Parametern aus.
Die Compiler ist da noch strenger.

Insoweit hast du natürlich recht:
Auf der IBM i muss man viel mehr berücksichtigen als bei der Entwicklung von Windowsprogrammen.
Da passieren, wenn man von Windows verwöhnt ist, dann schon eher mal solche Fehler.