I can connect to port 21 remotely via telnet but if I try using ftp, I never get a login promt. It waits a while, then I get
421 Service not available, remote server has closed connection
Please note that it's the inetd daemon that listens on port 21, so actually this is who responds to your telnet. In a normal ftp connection, it should pass control to the ftpd server.
Could you post the inetd.conf line where you call proftpd?
Also you can comment out that line, restart inetd, configure proftpd as standalone, start it and see if you can connect