Looking at Process.xs it is returning a number, and the sample program
below supports that it actually does so too, so I suspect the issue
might be in your code.
#!perl
use strict;
use warnings;
use Devel::Peek;
use Win32;
use Win32::Process;
Win32::Process::Create(my $process,
"$ENV{SYSTEMROOT}\\system32\\notepad.exe",
"notepad",
0,
NORMAL_PRIORITY_CLASS,
".")
or die $^E;
Dump($process->GetProcessID);
$process->Wait(INFINITE);
__END__
perl proc.pl
SV = NV(0x1866614) at 0x1964b74
REFCNT = 1
FLAGS = (PADTMP,NOK,pNOK)
NV = 4200