Adding system level accounts in this way is a bad idea, it's insecure and if the program is not written carefully you can hose your passwd file. I would reccommend having it add users to a database or datafile. For ftp server authentication switch to a server like proftpd which has support for a variety of authentication types (and if it's not support it's easy to hack in since they have a module architecture that is clean and easy to work with). Or perhaps the ftp server can be forced through a configuration option to use a passwd file other than/etc/passwd, this might work out quite well.
Adding system level accounts in this way is a bad idea, it's insecure and if the program is not written carefully you can hose your passwd file. I would reccommend having it add users to a database or datafile. For ftp server authentication switch to a server like proftpd which has support for a variety of authentication types (and if it's not support it's easy to hack in since they have a module architecture that is clean and easy to work with). Or perhaps the ftp server can be forced through a configuration option to use a passwd file other than /etc/passwd, this might work out quite well.