Since you're hanging off of that router, you must be getting local ip addresses (in the 10.0.0.2+ range) from the 678. You mentioned that you opened the port, but did you use NAT to route the external address to an internal address on the machione running the FTP server?
I wish that I could be more specific about the line to enter at the CBOS prompt, but if you go to cisco.com you could search for "FTP Server" and it would explain the line (using SET NAT ENTRY ADD) and they also have the entire CBOS manual online, search for "Using the Command Line Interface" and for "Introduction to the Cisco Broadband Operating System". They also have several articles on NAT. I have also seen this issue discussed on newsgroups accessible through Google.
But WHATEVER YOU DO: Please, PLEASE use port 21 for your external address port. I am presently struggling with connecting OUT from my 678 to an FTP server that uses a non-standard (not 21) port number. It seems that the router does not know to patch up in the ip address in the internal FTP packet unless the packet is destined for port 21. This is getting frustrating.