Eigentlich fällt mir nix mehr ein.
Login geht noch, danach ist "Schicht im Schacht".
Breakpoint vor das Application.CreateForm(TMain, Main); und dann im Debugger, auf Deiner Entwicklungsmaschine, schrittweise (oder jeweils bis zur Rückkehr einer Funktion/Prozedure) durchgehen und schauen, wann und wo Du dort die Zeilen siehst, die Dir durch die Fehlermeldung schon als Ursache bekannt vorkommen oder irgendwelche Aufrufe stattfinden, die eines der Grids betreffen (könnten).
Dabei müsstest Du dann in etwa mitbekommen, was da in welcher Reihenfolge abgearbeitet wird. Eventuell findest Du eine Möglichkeit diese Abarbeitungsreihenfolge durch gezieltes Verschieben oder Ändern der Programmlogik in einen "ungefährlichen Bereich" zu manövrieren.
Und ja: Das ist seeeeeehr zeitaufwändig.
Kannst Du die Entwicklungsumgebung (mit vertretbarem Aufwand) auch auf einem der Laptops installieren, um so direkt "auf dem Übeltäter" auf Fehlersuche zu gehen? Eventuell geht ja nur deshalb was in die Hose, weil auf diesen Geräten irgendeine
DLL, ein Treiber ... sich anders verhält, weil auf Gerätebesonderheiten eingegangen werden muss. Und wenn dadrin dann ein Fehler ist oder etwas anders, als von den Entwicklern des TAdvStringGrid erwartet, sieht's für Dich eher übelst aus.
Gibt es irgendwelche Meldungen in den Ereignisprotokollen der Laptops, die auf eine (wie auch immer geartet) Problematik der Systeme hindeuten?