Nice, I took a look at the source code and it looks great! Just to clarify, it looks like you keep the collection in full sync (i.e. I removed something in xbmc it will get removed in the trakt collection) and only send things as seen (don't remove anything). Is that right?
EDIT: I read the README which answered all these questions
Great work, this is really awesome.
I agree that things really should never be unseen, so that makes total sense. Keeping the collection in full sync would work since that is supposed to be a representation of the media you actually have. Also, that is really cool the newest JSON api includes the IMDB/tvdb id now!
Only other thing I noticed is you can actually bake in your API key if you want and not prompt the user. The API key is more of a way we can keep track of API usage more than anything, so your key with other user credentials will work ok. It's up to you, I can create another public key too if you didn't want your is the code for some reason.