For what it is worth here is something like the code I was originally using:
while (Serial.available()) {
//delay(5);
numBytes = Serial.available();
Serial.print ("I got this many bytes:");
Serial.println(numBytes);
for (int x = 0; x < numBytes; x++) {
inByte = Serial.read();
Serial.print("Here's a byte:");
Serial.println(inByte);
Until I added the delay (which I figured by rough math should be about 3ms - the time it takes to read 3 bytes at 9600 baud), I was only getting 3 separate instances of 1 byte returned.
Having said that, I have read up on character arrays and the atoi() approach seems much more elegant.
Thanks for your help.