Ok, I am having a great deal of difficulty in understanding your question..
But if it works by manually setting the proxy on the client PC, and does not work when using no proxy on the client, and transparently redirecting the ports with the firewall.
I would say that the firewall rule is wrong.
Try configuring the client machine to use a direct connection to the internet (no proxy).
And tail the squid logs.
Also, if you are using iptables:
watch iptables -nvL
will show the packet/byte counters increment for the relevant rules. If you cant see them increasing, there is a better than average possibility that the rule is not working as it should be.