if (Val == 119) // w
Do you promise to keep the comments always up to date? I doubt that will happen. There really is no need to have them at all.
if(Val == 'w')
works just as well, and no comments are needed, and there is no need to consult an ASCII table.
lMotor.run(FORWARD); // if I comment this row...
lMotor.setSpeed(spd); //... this row...
rMotor.run(FORWARD);
rMotor.setSpeed(spd);
Shouldn't you set the speed first, then put it in gear?
There are jumpers on that shield, IIRC. How are they set?