It may be this:
delay(10); // Delay waiting for answer
while (Serial2.available()) {
character = Serial2.read();
SensorIn.concat(character);
}
You are in that loop only while characters are available. Maybe the last few have not arrived when you emptied the rx buffer. If there is a cr/lf on each response, I would wait for that. Or put the delay(10) inside the "while(Serial2.available())" loop.