The operative word here is "queue". If I want to keep the database and the external world in sync, I can't queue my changes.
Of course, it's a trade-off, and has its own pitfalls (what if the stored procedure works on the master but fails on the slave?). But so has every other solution.