I'm implementing key combinations like vim, an example would be pressing Ctrl+w and then l to move to a panel to the left. However a key pressed with Ctrl may be blocking keyboard input for a frame or 2 frames?

I tested this with this binding:
bind(context, 'r', MDFR_CTRL, write_character);

so theoretically pressing r and another key really fast should produce the same output as pressing Ctrl+r and another key really fast, but that does not seem to happen

If you want to be investigate more you can open up the debug pane (this command is bound to <alt d> by default). Put it in a panel that you aren't typing in and it will show you the input events 4coder is processing. If there IS a bug you might be able to see it, depending on where the bug is -- of course it's possible that events are lost before they make it to the core and get put on the debug list... so it might also reveal that the problem is there.

Even if you're pretty sure this isn't a bug, you might want to take a look at the debug panel while you're building a command map, just for sanity checks. I sometimes think I've discovered a bug only to realize I fat fingered the commands when I look at the debug panel.