Non ho capito se la tua domanda è riferita all'esempio specifico della guida o se hai allargato il ragionamento ad un altro argomento.
Per quanto riguarda l'argomento della guida, secondo me più che l'id di sessione potrebbe essere utile generare un valore casuale ad hoc che abbia l'unica funzione di "convalidare" l'operazione richiesta in quel momento. Questo si potrebbe quindi tranquillamente passare in GET, essendo un "usa e getta" e non avendo la "delicatezza" di un session ID.
Sulla tua domanda riguardo agli identificativi delle tuple: nel momento in cui un identificativo viene "scelto" dall'utente, tu lo devi per forza passare al server. Via GET o via POST non fa, secondo me, una gran differenza. Parti dal presupposto che, come regola generale sul web, l'input utente non deve mai essere considerato affidabile ad occhi chiusi. Un ID passato in querystring potrebbe essere modificato manualmente dall'utente. Ma il programmatore accorto () avrà sempre, sulla pagina ricevente, la verifica che l'utente sia autorizzato a lavorare su quell'id. Se questa verifica esiste, l'eventuale alterazione dei dati in querystring non potrà avere effetti "illeciti".