In effetti, la DrawingArea, se piuttosto grande, e se devi riaggiornare la griglia di fondo, ci mette parecchio.
Un'idea che ti posso dare, dato che usi le PictureBox, e se non devi disegnare linee per l'aggancio tra le varie PictureBox (come ho dovuto fare io in pgDesigner), forse potresti usare una sorta di bufferizzazione, ovvero disegnare la griglia su una Picture nascosta (in memoria), e usare la Draw.Picture() per riportarla sulla DrawingArea.
Dalle prove fatte a suo tempo, avevo notato che il giochetto aiutava a risparmiare abbastanza tempo, a livello visibile; inoltre ti risparmieresti ogni volta il ricalcolo dei punti di griglia che, anche se sono clacoli puramente matematici, farli ogni volta che aggiorni, porta via tempo.
Riguardo alle OpenGL, immagino che sia come tu dici, anche perchè dichiarato nella doc del modulo dal team di Gambas. Io credo, in ogni caso, che lo sviluppo andrà per le lunghe, perchè la libreria OpenGL non è per nulla semplice; uno sguardo alla doc in rete, conferma la mia ipotesi.
A suo tempo avevo iniziato a fare delle prove con Python, e devo dire che con questo linguaggio la libreria sfrutta appieno la velocità delle OpenGL, ma è pur vero che Python ha un seguito e uno sviluppo non paragonabili a Gambas.
Avevo provato anche con le librerie "wx" (sempre in Python), e ho riscontrato che, per le applicazioni 2D, sono veramente veloci, e molto più semplici di OpenGL. Purtroppo non sono applicabili su Gambas, a meno di non sviluppare gli appositi moduli in C++.
Comunque, bel lavoro!
P.S.: Per le icone, ho avuto lo stesso tuo problema per pgDesigner. Non è facile trovare icone adatte...