After reading Todd Huss blog about the gotcha when using statement-based replication, where statements can "disappear" (that is, not be applied to the slave database), I believe that I can shed some light on the reason for this behavior.
Before that, some background.
Traditionally, MySQL has been using what is called statement-based replication. Statement-based replication replicates the changes to the slave by sending the actual statement that was executed on the master over to the slave, and the slave subsequently executes that statement. Of course, only statements that change something will be sent to the slave.
Sometimes, you don't want to send all changes to the slaves. So
therefore it is possible to prevent the master from sending
changes to some databases using the --binlog-do-db
and …