You are right, the CustomCompoundBondForce seems to not like my implementation even for small systems, though I'm not quite sure why.
Would the easiest way to write the plugin be by analogy to the CustomGBForce code? If so, do you think that it would be a fairly straightforward analogy or are there fundamental issues lurking there that I wouldn't be anticipating? I know that it sounds like I'm asking you to be something of a mind reader, but really I juts want your opinion about how difficult it would be.
The functionality of OpenMM will (eventually) include everything that one would need to run modern molecular simulation.
You might be better off looking at the GBSAOBCForce code. CustomGBForce is very general, which make the code for it very complicated. And of course you can start from the example plugin at https://github.com/peastman/openmmexampleplugin. That will give you the general structure for the plugin.