Original problem doesn't look like task for local database from my POV. I think better communicate with some tv series online site and set "recorded" status for episode online. Probably trakt's "collected" status could fit. So you just need plugin to send status to site and check this status during scheduling new recording. Just my 2c.
I'm a BTV user that is trying to find a new Media / PVR solution. In comparing the solutions, and related to this topic, BTV (BeyondTV - Snapstream - out of support other than the fanastic forums) has the option to only record NEW episodes. This is flagged by the EPG data and not whether the episode is in the DB. The EPG data has a <NEW\> element (I think)) that I understand to indicate a first airing. This allows only first airings to be recorded. Since for a series you are recording all first airings, you end up with only the new shows and no repeats. If you miss one for some reason, you can use something like Genesis to go back and watch, but that is only a rare event that a recording would be missed. The advantage doing it this way is that if you pick up recording in the middle of the series, you don't record previous episodes that you've seen but don't have on your PVR.
I don't see this option when scheduling recordings in media portal. Am I missing something? I guess if this isn't supported, I have to create a list and import into the DB as the thread notes. This requires a bit of manual work everytime for each series.