neither the "display" or "edit" case involve a new object, these modes either display or edit an EXISTING object.
ad_form_new_p does exactly what it says: it returns true if you're working with a from without a pre-existing object.
As to how to differentiate between the display and edit case, I don't know offhand. Lars added that capability and I was not consulted.