Since the current fix only papers over handling bursts of commands, I suggest you add, on the Python side, a list of command sent (containing : ) and then remove them as transmitSerial sends back the results.
Raise an error if the next response from Arduino, with a :, does not match the top of the list.
Then reduce the size of bufferedInput until you provoke an input overflow error and see that your checking code detects it.