I realized a minor flaw in my event receivers for a List with versioning enabled. I used the ListItem.Update() instead of ListItem.SystemUpdate(). In addition I did not use This.EventFire = false. The end result is a lot of ListItem version cleanup needed. I believe I currently have two options for removing the duplicated versions: -a: Create a console/windows app using the client object model to parse each listitem, notice a pattern for the invalid versions, and delete them programmatically. -b: Create a hidden page with a visual webpart using the server object model to do the same type of logic.
What would be the best practice for deleting the uneeded versions that are causing the list details to take forever to load?