Current apmd doesn't work very with the new initscripts, which are relying that the called daemon goes into background by itself. apmd uses vfork() to go into background, but the libc-manual says "Instead, the child process created with `vfork' shares its parent's address space until it calls `_exit' or one of the `exec' functions. In the meantime, the parent process suspends execution". That's why apmd will not fork into background and a fork() instead of vfork() at apmd.c:342 will reallow a "daemon apmd". I have detected an apmd-3.0 (labeled as beta) which is using fork() instead of vfork() too.
Fixed in the current beta