I'm posting this again because I think I have more information now, and I also think my 2 mile long post may have intimidated some folks. Sorry, no more source code in my posts (I put a link to it on the website example).
The Calendar Application is posted here:
http://www.datasushi.net/Calendar/Calendar2.aspx
The problem with it is when you add new appointments:
1) If you just add one appointment no problem.
2) However if you add a second new appointment, it adds it to the database, but it also adds the first one a second time, so you wind up with three new appointments.
(if you then went to add yet another appointment, you'd wind up with 7 new appointments - it always adds what you're intending to add, plus everything else that's been added)
You won't see this problem until you close your browser and re-open it, and go back to the website. That is because the page loads the full dataset and stores it in the session object, it only loads from the database if the session variable is not set.
I'm pretty sure the problem is the how I'm dealing with the dataset updates.

Somehow I need to tell it, after I update the inserted rows, that those rows are no longer "inserted", and can be ignored on the next update. Not sure how to do that.
Thanks.
Aaron