Thank you.
Something very similar works on my PC for system sounds. This is shown in the Perl below. I get all the same sound except for SystemHand.
..it is other wav files, which I know give different sounds (I can hear these in another application) which seem to be the problem.
my (@wsn, $js, @wavf);
$wsn[0] = 'SystemDefault';
$wsn[1] = 'SystemAsterisk';
$wsn[2] = 'SystemExclamation';
$wsn[3] = 'SystemExit';
$wsn[4] = 'SystemHand';
$wsn[5] = 'SystemQuestion';
$wsn[6] = 'SystemStart';
for($js = 0; $js <= 6; $js++) {
print "before play $wsn[$js]\n";
Win32::Sound::Play($wsn[$js]);
print "after play\n";
}