Keyframing is when you mark a point in time on an NLE timeline for editing purposes. For example, when I put a blurry box over somebody's face (think COPS), and their face moves around (they are walking), then you keyframe frames to track the motion to apply the filters or merge layers or whatever.
Totally different topic than "frame accurate editing" which is something that mostly applies to temporally compressed video (like MPEG).
If you want a frame accurate MPEG editor,
Womble MPEG-VCR,
Womble MPEG Video Wizard, or VideoReDo. There are a few more, but those are mostly voodoo territory, mainly meant for DVB and some other specialty needs.
MPEG Video Wizard is really good for damaged audio streams, and VideoReDo is really good for general stream damage.
Womble MPEG-VCR needs pretty flawless files.
I will concur that on really long files, sometimes it can drift (I had this problem recently, use
MPEG Video Wizard instead). But it's a random error more than anything else.