FYI, I just discovered that I can make my Solaris guest boot every time in kvm by specifying an interactive boot at the boot prompt and then just hand stepping through the default prompts. Presumably there is a timing issue in the guest boot sequence which kvm is exposing when running natively on my new current gen cpu + ssd box. It seems slowing down the boot artificially by hand stepping, or by running with -no-kvm, or by running on my older hardware + hdd, avoids this.
So sorry but this seems likely a bug in the old Solaris 2.5.1 guest OS when running on modern fast hardware(?). Now I know about this interactive boot option I can just use it to boot each time. There are only 3 quick prompts so it is not really a bother. The guest runs fine in kvm after booting so this speed related bug is only during the initial boot sequence. Thanks for your help.