I am a newbie in this forum, but maybe have an idea what might be causing this (if you are still working on the issue, since your last post dates already 2 months back)
for XP you have
0.0.0.0 128.0.0.0 192.168.10.1 192.168.10.9 1
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.2 25
for W7 you have
0.0.0.0 128.0.0.0 192.168.10.1 192.168.10.19 30
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.10 25
I interpret this as follows: If all other entries in the routing table do not match, then these 0.0.0.0 rules come into action.
For destinations from 128.0.0.0 and up, the route to your vpn (with 128.0.0.0 as mask) wins because it matches better than the route to your local network (with 0.0.0.0 as mask)
For destinations below 128.0.0.0, on the XP machine the route to the vpn still wins, because it has better metrics (1 wins from 25). On the W7 machine however, the route to the local network wins because it has the better metrics (25 wins from 30)
Apart from the fact that I do not understand why there is a rule for 0.0.0.0 with a mask of 128.0.0.0 (maybe someone else can explain that), you might try to lower the metrics for the route to the vpn.
You can do this 'manually' using the route command or a with tool like NirSoft's NetRouteView, but you might also try to add the following parameter to the vpn client configuration file:
route-metric 20
The value that you use should be lower than the current metric of your current local 0.0.0.0 destination.
I have no idea whether it will work for you, but it did for me when I had a similar issue, where, after launching the OpenVPN client on my W7 machine I could not connect to the internet anymore. In my case I had to raise the route-metric for the vpn 0.0.0.0 entry above the local 0.0.0.0 entry, because I did not want all traffic to pass through the VPN network, which you seem to do (if I interpret your config files correctly).