I don't think this should produce negative numbers. It doesn't in v20 and before.
Code:
v:\> do i=1 to 5 ( echo %@random[0,2147483647] )
1448389178
-817923826
-272901703
1035707379
-1074066855