Yes, when examined as an integer that will be a negative number, but the reality is that the colors are 4 separate bytes, so displaying it as one int doesn't make sense.
If it works without that then I guess it's fine, but the other code that manipulates colors does do it that way. If you need to display the color you could extract the values again and display that.
Something like this assuming the color variable is named color.
Code:
uint8 red = (color >> 16) & 0xff;
uint8 green = (color >> 8) & 0xff;
uint8 blue = color & 0xff;
I saw you commented out the check for the proper number of parameters. You should probably check that since trying to extract the values if the player doesn't type the line correctly could cause a crash or some very unpredictable behaviour.
I'm glad it works, and I hope you enjoy your colorful bots.