The client-side FTP protocol (in "active mode", which is the default) expects the FTP server to open an outbound connection to the FTP client -- and the server uses the IP address sent by the client. In the case of a client using dynamically assigned IP address, that IP address is on an unreachable (private) network.
To remedy this, the FTP client should use passive mode and the server will then, usually make the connection using a reachable address. This doesn't always work. Also, I don't think the FTP client supplied by Windows supports the use of passive mode.
Most 3rd party FTP client support passive mode connection. You can also using a web browser (by using the "ftp://" protocol).