I thought the microsoft sidewinder used something resistive.
Nevertheless, there does exist at least one early rubberdome keyboard with diodes. Almost all membrane keyboards are limited to 2KRO.
There are two different kinds of KRO to consider. The KRO of the keyboard matrix and the KRO of the controller. In hte case of IBM buckling spring keyboards, only the capacitive ones are capable of NKRO. The membrane ones are capable of 2KRO. This is before the controller decodes the keypress.
So the controller can only have up to as high of KRO as the keyboard matrix can handle.
Now, a lot of modern USB keyboards will support 6 KRO, which is a limitation of the USB technology bandwidth. It can't send any more to the computer, so it doesn't. If it supports PS2, it can achieve NKRO over that, but to maintain compatability with USB1.1 the controller artificially limits KRO to 6.
Another case of the controller lowering a keyboard's potential KRO is with some of the old capacitive buckling spring keyboards. Some of them will only send upcodes for some keys (so many keys can not be held down). In this case, the keyboard matrix supports NKRO, but the controller only has a practical KRO of less than that (depending on the model, and how many keys are designated as "repeat action")
Specifically in your case, your model M's are limited to 2KRO by the keyboard matrix, so changing out the controller won't help that.
In the case of a model F keyboard, a teensy could be used to fix the KRO, since the capacitive matrix supports it.
For more information, you may want to consider reading the following article I found on the subject.
http://www.dribin.org/dave/keyboard/one_html/