If there is no other way then of course I will be forced to burn through useless bytes of data (128 bytes total in the buffer, according to Arduino).
Since this whole discussion started because "the Serial.flush() function" changed, and the only changed to the Serial.flush() function occurred between 0023 and 1.0, I conclude that you are now using 1.0. In which case, the buffer size is no longer 128.
From HardwareSerial.cpp:
// Define constants and variables for buffering incoming serial data. We're
// using a ring buffer (I think), in which head is the index of the location
// to which to write the next incoming character and tail is the index of the
// location from which to read.
#if (RAMEND < 1000)
#define SERIAL_BUFFER_SIZE 16
#else
#define SERIAL_BUFFER_SIZE 64
#endif
P.S. Since you have full access to the source code, you can always modify it to add a new method to restore the functionality of the old flush() method. Though, as has been said many times now, that is not a good idea.