You're right, ipchains is, afaik, not stateful.
However, the problem with your ruleset is that you don't even have it configured for statefulness even if it could - you're blocking all incoming packets no matter what happens. That means when you connect to a website, and the server sends you the web page you requested, your firewall drops it. Get my drift?
What you want to do is get iptables, which certainly is stateful, and set up a rule like this:
That will do what you are looking for.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT