you have .com and .exe files on unix? a very old version of SCO UNIX when it still belonged to Microsoft?
afaik unix programs return an int, i.e. usually a signed 32 bit value.
if your shell only supports unsigned bytes (0-255), i consider this a bug in your shell. as your unix seems to be quite old (10-20yrs?), imho you should really not deal with it at all anymore. although i never tested this behaviour on recent unices..