File Sharing (server-side) on Mac OS X is TCP only. It no longer uses apple talk, as the file sharing in OS9 does. Yes, OS X clients can use apple talk, but the computer serving up the files must go over TCP/IP.
I believe the random ip addresses are your problem. You see, unless the other computer has an address under the same subnet ip address as the first computer, the router inside your cable modem will attempt to contact an external computer, which is unlikely to be yours.
I propose a test, to see if this really is the case.
Connect both macs to the hub. Disconnect your cable modem. (you could also run a true cross-over cable between the macs and avoid the hub all together, but it sounds like your hub isn't the issue here.)
Assign, in the network panel of the SystemPreferences the following IP addresses to each macintosh (don't use DHCP, select manual):
Mac1: 90.0.0.1
Mac2: 90.0.0.2
Subnet (same for both): 255.255.255.0
Leave the DNS information blank
Do something to make the new information take effect (ie, quit the system preferences and wait 5 mins. UNIX geeks can restart the network via the command line).
Now, make sure file sharing is enabled (which you have undoubtably done several times in the last week ;-) ).
You should now be able to effectively transfer files bi-directionally between the two computers.
To test network functionality, open up the terminal (/Applications/Utilities/Terminal.app).
Type:
ping 90.0.0.1
or
ping 90.0.0.2
(depends on which computer you are at, of course. Allways ping the *other* computer's address).
Press controll-c to stop the pinging.
You see, when you had those rather different ip addresses,
ping rather-random-ipaddress
would return errors like "No route to host" or possibly actually ping some web site in south america.
If my above idea works, let me know, because there is a way we can assign two ip address to each macintosh, one for the file sharing, and one for your network connection.
As has already been stated, a router or some type of firewall would greatly simplify things.
Please post if this works (and if it doesn't).