Overall I have found tempos to be accurate but sometimes over the course of a longish tune for example it may need to be adjusted slightly in one DAW compared to another.
What to do. If you are thinking of migrating a session from one DAW to another a good thing to do is to somehow while the session is in the original DAW create a click audio track that represents the metronome. So let’s say you are in your starting DAW and the tempo is 100 BPM.
Create an audio track for the metronome. You can do it in Sonar even if you have to route things and do it all in real time. (Studio One can now render out the whole metronome track in one flash now. THIS is a great feature and I hope others do it as well)
Drag the session into your receiving DAW including the metronome audio track and start by setting the tempo there also to 100 BPM. Move all the tracks around including the metronome audio (you may not have to anyway) until everything lines up with the grid at the start of the second DAW.
Now go right to the end of the session and see how things are holding up there. eg last 4 bars etc. Often it will be spot on but sometimes I have had to make a very
slight adjustment to the new DAW tempo eg 99.97 or 100.02 etc in order for perfection at the end as well. Make sure your tracks
don't timestretch when you do this too. (Sonar cannot timestretch tracks on the fly anyway so you should be good to go) The receiving DAW might though. If it does then the error will still be there at the end.
The metronome audio is more accurate than relying on the music to do this.