Half a second is significant delay...
Probably you have already done that, but it does not take a lot of time to check:
1) Preferences/Audio/Driver settings. I assume you use ASIO. Is "Total Roundtrip" less then 50ms?
2) Preferences/Audio/Sync and Caching. Non zero Timing Offset or Manual Offset ?
3) Preferences/Project/MIDI. Anything set in "Send MIDI Sync" or "Send MIDI Time Code" ?
Freeze AD track. Bypass all audio effects ("E" or "FX" button on Control Bar). Does that change anything? Explicitly check that you do not have any mastering plug-ins in the project, they can introduce up to 1sec delay. To be sure, test you problem on completely new project without any effects.
You write you have no latency with Sound Canvas. Does that mean you can play live (from you Casio) into it throw Sonar (so, Casio on the track input, SC on the track output) without latency? Can you play AD live with Casio (better test in the same project in which you have the problem)?
If you really have to move AD track forward (in time) compare to SC, that means you ask VSTi to play LATER to be in sync with hardware SC. In case the problem is somewhere in the delayed audio route, I would expect reversed situation.