problems with softserial and ATtiny85

it was my understanding that the internal resonator is too unpredictable to function with serial, but i have moved the crystal so it is now within a few millimeters of the ATtiny and there is no change.

i have however found a possible work around, but it is not responding perfectly.

can someone take a look at this code and maybe see if there is a better way of doing it? the code also doesn't allow for different serial commands, only to exit the existing one, which is no good.

      case 's':
        while (!stopByte) {
          um_sendNEC(0xB54A58A7, 32);  //SRC
          IRcount ++;
          if (Serial.available() > 0) {
           if (Serial.read() == 'x') stopByte = true;
          }
          if (IRcount >= 16) stopByte = true;
        }
        IRcount = 0;
        stopByte = false;
      break;