The current ebuild for proftpd (discussed in bug #276371) does make a check if the old proftpd is running and refuses to do anything if that is the case. I understand the reason for this (changing the PID file and therefore the new init script does not know how to stop the old and currently running server) but this is a NO GO anyway! I'm not willing stop the FTP-server for a couple of minutes. Not even --buildpkgonly does work! So please change this in either way: quick and dirty: move the check to the merge step that is not executed when using --buildpkgonly and tell the user how to achieve the merge without a new compile process when he stopped the server; or do it the clean way inside the init-script: if the stop-routine cannot find the new PID file, look for the old PID file and do the termination the old way.
For some reason people expect mainframe-like performance where one routinely makes updates without ever taking a system down :-) Assigning.
The blocking check was removed in 1.3.4_rc1, and 1.3.3 has been stable for some months, so everything should be fine here now