Well, if it works for you... then I guess you can read it using (mpu.dmpGetXXXXXXXX) every time you want, but be sure to read it at a faster frecuency than DMP is running, or fifo will overflow.
Anyway, I haven't checked how does this (mpu.dmpGetXXXXXXXX) function work, so I am only speculating.
Besides, this long wait you mention has never happened to me. Are you sure that INT pin is connected where it should be connected?