I know it is an old question, but maybe will help others in the future. Unfortunately I haven't found any matching procedure, but in maapi you can use a method called diff_iterate:
diff_iterate(sock, thandle, iter, flags)
With this method you can iterate through all the changes in the given transaction (which can be a create callback). The key is the iter argument, which is basically the method where you handle the changes. It can be defined this way:
def iter(keypath, operation, oldvalue, newvalue)
It is very similar to subscriber's iterate solution.
A code snippet how it looks like in pre-modification (it simply write the changes into log file):