Only idea I have: Getting data too fast or not waiting until ready will get bad data. Check at that place. printf() will make a reasonable delay. Did you set the filter time accordingly to the cycle time of retrieving data?
Thanks for the suggestion. I went over the data sheet for the MPU and there is a data ready function so I will look into that tomorrow. I did confirm that the DLPF setting is changing - it is just not having an impact on the data rate for some reason. Also, thanks for the reminder on the filter setting as I did need to update it. Hopefully, the data ready issue will fix without slowing everything down too much.