That's not funny at all. If you never told it to use that nic, it won't ever use it.The funny thing is that when it pings from the first nic and doesn't succeed it doesn't cut over to the second nic to try to ping from there.
Is ping the only program that is having trouble? I think what you want to do is set up your routing tables to have all traffic go through the second nic with the ip by default. Try 'man route' to see what that's about. You might also look into iptables, but I doubt that's what you're looking for...When I revert the configuration and make first nic with ip and second without ip , then everything works fine and ping works.
(i gotta have one nic with no ip for sniffing packets)
Any ideas system doesn't try the second nic for pinging?