For the data about when a sales stage is changed it is saved in the x2_actions table, and for getting data at time of a change of a stage, you could use the x2_changelog and figure out what your data was like at that desired time. The time format we use is epoch time. We are also working on reports for sales stages and process, and it will be in a future enterprise release.
The issue has to do with field names. On the back end a field called "age" could be saved as "c_age" the "c_" denotes that this is a custom field that a user added. So if contacts came out of the box with an age field it would be saved as "age" in the sql data. If you added an "age" field to leads so that you could convert the contact to lead it would not work, since lead would have "c_age" and contact would have "age", and since "age" does not equal "c_age" the data does not get converted.