I just managed to get an ad-hoc connection going between my phone and laptop, and NAT running on it. The steps are pretty much the same as in the first post of this thread, but in addition I made some changes to /system/etc/wifi/tiwlan.ini (make sure to keep a backup of the original).
First, make sure wifi is disabled on the phone gui.
Next, Set up the ad-hoc network on the laptop. I called mine "newtest". Change the properties for the connection to assign a static ip. I used 192.168.2.2. Set gateway to 192.168.2.1, and set dns to a public server - i used 126.96.36.199.
In tiwlan.ini, look for "WiFiAdhoc = 0". Change it to the following (set ssid to whatever you use):
WiFiAdhoc = 1
dot11DesiredSSID = newtest
dot11DesiredBSSType = 0
After updating tiwlan.ini, enable wifi manually:
wlan_loader -f /system/etc/wifi/Fw1251r1c.bin -e /proc/calibration -i /system/etc/wifi/tiwlan.ini
ifconfig tiwlan0 192.168.2.1 netmask 255.255.255.0
ifconfig tiwlan0 up
At this point, the phone should connect to the ad-hoc network.
Now, from the OP's post, the iptables rules:
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -s 192.168.2.0/24 -j ACCEPT
iptables -P FORWARD DROP
iptables -t nat -I POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
If all went well, you now have internet access.