The approve event is a before/publish event,which means it gets triggered each time an object is sent for publishing. So, yes it gets run for the initial object as well as any subsequent edits and works exactly the same in both cases.
Thanks for the reply. Another question. Can the same thing be done for deleting or moving an object? It seems to me the answer is now, but I would like someone to confirm that.
--
Nothing is impossible. Not if you can imagine it!