You just have to check to see if the vti_sourcecontrolcheckedoutby property on the item was cleared: This code is using the Before Properties and After Properties on the properties parameter to see what the value of the vti_sourcecontrolcheckedoutby property on the item was before the update occurred, and what it will be after the update has completed.

Sample code that fails to invoke itemupdating event: SPList Item op Folder = list. Break or similar in the event handler code, so we can exclude that the problem is caused your debugger begin attached to the wrong process (since I have seen that behaviour in visual studio in the past).

MSDN: "When you call the System Update() method, events are triggered and the modifications are reported in the Change and Audit logs, but alerts are not sent and properties are not demoted into documents." I checked in SP2013 - it DOES fire the events!

Damon gives just one example of a poisoned dagger in the game of Sharepoint Development: The Item Event Receiver.

I’m usually disappointed when writers employ oft-overused metaphors to describe a situation.

Sometimes that is the most exciting way to learn, but for those less adventurous I will briefly cover the topic here.

You can think of an item event receiver like a database trigger: it has different events that fire during the course of Share Point running an operation on a list item (or document item).

Developing a Sharepoint application would have all the fun of a video game, if only you had infinite lives.

Dangers lurk hidden out there which, if you run into them, can be a blow to your project and waste a great deal of time.

Turning off the Require Check Out option is a great quick fix if you don’t require the item to be checked out in order for it to be edited.