A very smart friend of mine wrote a PHP script for me that you folks may find useful for testing purposes. To use it, grab this torrent:
http://bittornado.com/connection-checker.torrent
Running this torrent will ALWAYS return an error -- but the error message will tell you whether your port is open or whether you're behind a transparent web proxy.
(Edited) As a note, if you are behind a transparent proxy, some older trackers won't be able to discover your true IP and may cause you to run in firewalled mode. The transparent proxy may or may not provide your true IP in the HTTP headers; the test code will try and sniff it out (like a modern tracker would) and continue testing.
(Edited again) Some transparent proxies apparently don't change the HTTP headers and are therefore undetectable, and will just show as a firewalling problem. You can check for this situation by running this torrent:
<torrent deleted>
** This torrent doesn't work right now.
Update: Fixed a bug in that always reported NAT conditions depending on client version. Hopefully. Also, the "Local IP" parameter is not longer accepted and must be blank before use.
Update: This has been broken for some time, but is now working again.