I kind of agree with laserlight, but not 100%. I don't like natural primary keys since they may get changed. For instance, the starttime may change 30 minutes, and it will mess your tables up. Also I don't like primary keys containing more than one column, it gets to messy when you use them as foreign keys.
What I do agree on is that it should not be possible to insert duplicates. Use "unique (title, starttime)" to make it impossible. The result will be the same when you try to insert a duplicate, you will get an error message.
To be able to clean up the current database before you make the columns unique you should use something like the followin:
select whatever from table group by title, starttime having count(*) > 1