novation sl mkII
This will help you figure out what's going on because a keyboard synth can generate virtually simultaneous MIDI and audio output (usually within 1ms) that you can use as a reference for what SONAR records.
The first thing you'll want to do is check the audio latency compensation of the Toneport by running the free CEntrance ASIO latency tester (Google it), and comparing what it reports for a round-trip time with what SONAR reports. Then enter the difference in samples (CEntrance RT - SONAR RT) as a Manual Offset in Preferences > Audio > Sync and Caching (not to be confused with "Timing Offset (msec)" mentioned earlier, which should be left at 0 for the time being).
Then set up to record simultaneous audio and MIDI from the Novation using Local Control. Record a few isolated MIDI notes along with a drum sound or other synth sound with a sharp attack, and zoom in to see how the recorded audio and MIDI are lining up. Setting the tempo to 125 BPM (2 ticks.ms) or even 625 (10 ticks/ms) will make it easy to see how much error you're getting without changing you timeline display to milliseconds. And do this with the metronome off; we'll worry about that later. We just want to see the relative timing sync between audio and MIDI at this point, without regard to where it falls in the timeline.
If corresponding MIDI notes and audio transients are within a couple milliseconds with the MIDI being late (since SONAR does nothing by default to compensate MIDI transmission delay), then everything is probably copacetic with the basic audio and MIDI interface set up.
If not, let us know what you're seeing, and we'll go from there.