FOR UPDATE nega la scrittura simultanea se non erro ma non la lettura, ergo entrambi possono leggere quella tabella ma solo il rpimo potrà verificarla, cmq è un'operazione che va fatta sulla stessa pagina, se fai una query FOR UPDATE e poi chiudi la connessione a mysql, o counque la pagina finisce di essere elaborata, questa mi sa che viene rilasciata in automatico ergo il FOR UPDATE in pagina A non ti serve a niente mentre in pagina B, dopo la scelta, la query dovrà sfruttare il lock in fase di update, per l'appunto.

dico male ? ... soluzione, unaflag se la tabela è impegnata temporaneamente, cancellata se l'utente sceglie altro o esce