Premetto che sono anni che non uso i CGI, e non sono assolutamente aggiornato.

Sapevo che ogni esecuzione di script CGI equivale a far partire un programma con tutti gli "stress computazionali" che ne derivano: inizializzazione, allocazione etc etc
Ma la stessa cosa succede facendo partire piu` volte lo stesso eseguibile, salvo che non sia espressamente previsto dal Sistema operativo che resti qualcosa attivo.

Però questo può essere risolto facilmente con fastCGI, dico bene?
Non lo so. Per questo occorrerebbe chiedere a qualcuno piu` esperto.

Si potrebbero utilizzare delle variabili dedicate come fa PHP
Esistono le variabili di sessione, ma non so se con i CGI e` necessario inventarsele di volta in volta o se essite qualche modulo pronto (in PHP la gestione e` quasi automatica)

permettendoti di realizzare aree private e qualsiasi altra cosa preveda dati "persistenti".
Non ho esperienza in questo.