Arduino Serial RC control

  ClearSerial();  //removes any data in serial recive buffer

Why do you want to throw away random amounts of unread data? If it isn't important, quit sending it. If it is, quit deleting it.

  Serial.println("OK");
  Serial.flush();  //wait until serial data is send.
  lcd.setCursor(0, 0);  lcd.print("OK");

By the time you get done diddling with the LCD, the "OK" would have been shifted out. What is the reason for blocking until the O has been sent?

Received integers are not correct.

You send something. Something gets received. You've told us nothing about either one, yet you want us to tell you what is wrong. I don't think it works that way.

Could you Pros inspect the code and suggest better method of doing this?

Sure. Ditch the calls to parseInt() until you know EXACTLY what you are receiving and EXACTLY what the parseInt() method is doing.