I highly recommend that before attempting to change your FTP listener to a non-standard port, you get the standard version working over port 21 first. You already know you can connect to the FTP server over port 21 internally. It's just a matter of figuring out your network so you can access the FTP server externally with the same port. Stick with port 21 for FTP for now.
Just a guess, but you've probably changed the Default FTP listener to 100, which is why nothing has changed. That won't have any effect on your existing listeners.
IP address 127.0.0.1 is a special IP address that is only accessible from your local machine (it's called the loopback address). It's used for local testing only. Ignore it for now.
You need to an IP address like 192.168.0.10 or similar. You should have a non-loopback IP listening on port 21.
So are there any good programs/tools that allow you to accurately diagnose where a port is being blocked from, whether it's the modem, router, or Windows?
No. It's trial and error, and it can be painful setting up an externally accessible server for someone that isn't fairly proficient with networking. FTP servers are especially tricky because of the secondary data connection.
You need to eliminate each component from the equation until you know where the problem is. In your case, the problem is likely your Cable modem. If you can connect to the FTP server from another machine on your local network then it's very likely the problem is not Cerberus, or your Windows Firewall. That leaves your router, and your cable modem. You've eliminated your router, so it's almost certainly the cable modem.
Work with your ISP to make sure it's really not acting as a firewall.