"Your system is limited as far as I can tell to WordPerfect itself (though something similar could probably be made to work systemwide"
The reason(s) why it is restricted to WordPerfect is that, compared to MS Word, macros can be attached to almost ALL keystroke combinations in WP, and in early versions of MSW (at least before 2010), if the AutoCorrect file is bigger than 64kB this can result in "out of memory error". Further the QuickCorrect and AutoCorrect function is executed by hitting the space bar, and various punctuation keys. In WordPerfect this function can be moved elsewhere to another key, in MS Word I have not been able to do this. Lastly, as I showed in my blog article, the WP keyboard map shows all available key stroke combos, whether connected or not, whereas MS Word only shows individual hot keys, and doesn't let the operator know which ones are available. This makes the creation of meaningful hot keys almost impossible, at least quickly.
You seem to be overcomplicating the concept. As for the "mental energy" expenditure, it just does not exist. It is exactly the wrong thing to do to sit down and work out abbreviations. It is done as required. There is a single question which the operator asks, having come across a word or phrase they think needs an abbreviation. "What is a good abbreviation for this?" Simply, there should not be any time spent "working out". Take the first thing that comes into your mind, and put that on the keyboard and hit the execute key. If nothing happens, there is your abbreviation (I think I've probably had 10 duplicate abbreviations happen - ie two different phrases come up with the same abbreviation- it is much more common to have two (or more) different abbreviations for the same full text. This is not a problem. It simply increases your chance of getting the right expansion later.)
(Bearing mind that I have 7,000 abbreviations, and I started creating them in 1982 or thereabouts, that averages out to 0.6 of an abbreviation every day. Of course I don't work that way, because different topics need batches of abbreviations, so I might create 15 in a single session, but the same problem applies to steno.)
When you need to have a phrase expanded, it is simply a matter of asking exactly the same question, since you are working with the same mind (your own) you will almost invariably get the same answer. That is ALL that is required. But if you get the wrong abbreviation and nothing comes up, then simply make another abbreviation using the same as you just thought might be the one.
I'm not sure that creating a programmable keyboard will make it any easier, since it is already down to a single mouse click to execute the creation function, the number of keystrokes for the abbreviation and the expanded text will be exactly the same, and a single mouse click will conclude the creation function. In changing machines, as I used to do when I was a temp legal secretary, (the legal field still largely clings to WordPerfect because of its greatly superior functionality) I simply copy two classes of file, or three if you count the execute macro, but that can be written in a matter of seconds. These files can be stored on a thumb drive, and unless I use a specialised keyboard (which I do), there's nothing to carry, and I could go straight into a workstation, copy the files and be functioning within a couple of minutes.
Your point about "taking full advantage" is not close since the time investment, as I have said, is miniscule when compared to traditional steno, and from what I've seen, plover.
"That’s not going to help someone who for instance needs to write computer code instead of prose."
I'm not sure that is accurate, at least if the code is written on a program which has access to the MS clipboard, since the code can be written in WP, using all the shorthand functions and copied to the clipboard, then pasted. Of course, if there is no clipboard, then that's a different kettle of fish, but we are getting into an extremely specialised area and a programmable keyboard may be the way to go, but that's not something I'm familiar with, so therefore I won't make any comment.