The tests for Hibernate.remove() were wrong, and it turns out the functionality does nothing (the queued operations never get executed).