Cant really answer #1, but for #2, That's called lagging or latency it's the time it takes for the info of your keyboard to be "recorded" by your program... to fix it, you need:
1. To quantize what you played, but then, you'll loose some of the feel you played
2. A better sound card... so...