Binlog - 'Race-like' Condition on Replication
Replication is always serialized to prevent the race-conditions you are speaking about.  See this stackoverflow post for my explanation of InnoDB locking.  Some important notes:


RBR with row-based replication and read-committed isolation level sets fewer locks than InnoDB would have previously.
We should be moving to a world with RBR anyway, because this will open more doors for parallel replication threads (by working out dependencies between transactions).


To answer your last question, I use RBR in production, and I haven't seen any major performance hit.  We do generate a lot more binary log data however, since the events logged contain whole rows.