You shouldn’t be using the Generic Low Latency ASIO Driver. It’s an obsolete driver that hasn’t been updated for ages and it will cause you more trouble than anything else.
As you can see there’s only 3 options for the buffer size : small, middle and large. And not to mention that this generic driver so old that it isn’t even multi-client compatible.
Please use ASIO4ALL instead, you’ll be able to set the buffer size precisely.
Also check the following guides :
As for the MIDI issue, please observe the ASIO Latency Compensation Active by Default setting in Preferences → Record → MIDI :
Determines the initial state of the ASIO Latency Compensation button in the track list for MIDI or instrument tracks.
If you record live on a VST instrument, you usually compensate the latency of your audio card by playing too early. In consequence, the timestamps are recorded too early. By activating this option, all recorded events are moved by the current latency, and playback sounds like during the recording situation.
Looks like you have it enabled, and you are trying to input the notes on the beats without playing early, doing so will counteract the effect of the option and cause the notes to be recorded too late.
Try disabling it.
Don’t forget the check the Latency Compensation state on the tracks, as toggling the one in Preferences won’t toggle the existing tracks automatically, this is only for when you add new tracks.