Currently BaseData::GetMTime updates the timestamp of this when the MTime of its time geometry is newer then its own MTime. This is a wrong behavior, that leads to changing timestamps just by checking them and therefor to wrong detection of "newest" BaseData instances (e.g. for the new statstics backend).
A correct implementation would be to pass the MTime of time geometry if it is newer then the own MTime.