resolv.conf is read by any program that needs it. It's like /etc/passwd --- you don't restart a service when you change that. Many times I have had resolv.conf problems and they go away when I fix the file. And this includes Solaris 10.
Are you sure that /etc/nsswitch.conf has dns in the hosts entry?
Another thing I do when changes don't immediately take effect is to restart the nscd which has a FMRI involving the word "cache". Try
svcs \*cache\* to find it.