Ciao Mich_, innanzitutto grazie per la risposta!

Parto dalla tua curiosità: perchè il CGI è un solo eseguibile? Questa mia convinzione proviene da diverse discussioni sull'ottimizzazione. 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. Però questo può essere risolto facilmente con fastCGI, dico bene?

Per il passaggio valori: sia in versione applicazione monolitica (con gli if come suggerisci tu) che a singoli eseguibili entrano in gioco i valori get e post. Si potrebbero utilizzare delle variabili dedicate come fa PHP o ancora più divertente inventarsi un sistema di sessioni personalizzato. Forse nella versione a singoli eseguibili quest'ultima soluzione sarebbe il top, permettendoti di realizzare aree private e qualsiasi altra cosa preveda dati "persistenti".
Che ne dici?