Pepsi, I'm sorry for being stubborn on the issue, but no, it is not necessary to add the port (as long as it is 21). Port 21 is the standard for FTP (standard as in normed standard, I'd say), much as 80 is the default port for HTTP. You don't add :80 to every web URL you stumble upon, do you?
Any decent FTP program should be able to parse an URL that includes the standard way of adding authentification, but not a port. The @ delimits the username/password string from the actual address, and may (obviously) not be interchanged with the address itself. Any other behaviour is a bug in the program.
I'm pretty positive he'd survive in the UNIX community as long as omitting omittable strings is all he does.
BTW, this behaviour is defined in
RFC1738 ("Uniform Resource Locators (URL)"), section 3.
FelixDeKat, look on
Tucows for FTP servers. Serv-U is definitively recommended.