You cannot really substitute a hardware firewall with a client firewall. The former is a port-based firewall that, in most cases, provides NAT handling and stateful packet inspection. The latter is a permission-based firewall that is biased toward program and access control. A client firewall is acceptable if it's all that you can use, but remote/hardware firewalls will always be more effective.
I notice that two of the three firewalls that you have tried are premium (neither of which are sufficiently tweakable for your use, particularly McAfee); have you not tried Kerio, Netveda, etc, etc?