Note on AIX's nobody user for Exim
Services for Unix blog
It seems this is not overflow. It's just a representation in one place using an unsigned value and in another using a signed value.
Considering there are 4,294,967,296 values in a 32-bit integer and that the signed number would be in two's complement if negative, -2 is exactly the same as 4294967294.
As a matter of fact, I believe your EUID is being set. It's just not being set to the right interpretation of the number. I suggest you ponder this code:
#!/usr/bin/perl --
use strict;
use warnings;
my $nobody = 4294967294;
print $nobody . "\n";
$nobody = pack 'I', -2;
$nobody = unpack 'I', $nobody;
print $nobody . "\n";