I'd recommend Guard Dog. Firestarter's iptable config is only in place while the program is running, and you must do some "tweaking" to get it running without having to enter a password at system boot. Guard Dog is a set-and-forget "firewall", but on the other hand it requires more knowledge of what you need to let in and out, and isn't as "beginner-freindly" as Firestarter. However, you only have to run and configure Guard Dog once, and not run it again unless you need to change your iptable rules.
So, it's a toss-up, depending on your level of expertise and needs. I tend to recommend Guard Dog simply because it doesn't have to be ran constantly. Your needs may vary