Your idec syscall is supposed to go through afs/afs_call.c:afs_syscall to afs_syscall_iincdec(). This is only used by the server, so it may not be working for darwin, which is only known to run the client.