You need to associate the commands with the transaction:
cmd.Transaction = transact;
blq.Transaction = transact;
I also highly recommend you don't build your query text by string concatenation, but use parameters instead in order to prevent SQL injection. For example:
blq.CommandText = "SELECT * FROM FLIGHT_MANIFEST_PASSENGER WHERE REF_DOSSIER = :pDossier FOR UPDATE NOWAIT";
blq.Parameters.Add(new OracleParameter("pDossier", ref_dossier));