@teegee543: Here's a small patch that *should* help with the DRM issue (I haven't tried it with a live Kindle, just on a backup folder).
It's probably messy for no good reason, I don't really have much clue about python stuff

.
If an asin found in a collection isn't on the device, it'll be discarded, and a warning printed on the console. (Not sure how you want to handle bogus items in collections, that was mostly done to avoid a traceback because my backup wasn't up to date with my json db... :P).
EDIT: Attachment removed, it's been merged

.