OnAfterChange has a property named "Operation". This event handler gets called twice (in most instances)... once to delete the old value, and once to insert the new value.
You can add the following to the top of your event handler to only deal with Insert operations...
if("Insert" != e.Operation)
return;Greg Collins [InfoPath MVP]