Ah yes, I misread that.
requestFrom will only return when the transmission is complete (I believe), so by the time you get to that line you've already got as many bytes as your going to get (whether that's 6 or otherwise).
I would have thought that at this point, something like this:
if (Wire.available() == 6){
// read variables from buffer
}
Might be more appropriate.