Sencha Touch - deleting objects with the Model, Store, and Proxy

It turns out that something in the Sencha Touch Model/Store/Proxy API secretly/quietly depends on the id field being set when you attempt to delete something with store.remove(), otherwise (a) it won’t delete what you want, and (b) it attempts to re-add what’s already in your database. That would have been nice to know four hours ago.