It is neither a limitation nor a bug. The approach to register SOAP processors (and many other types of customizations) is the “as-designed” method and is not a “work-around.” At least that’s what’s implied by the SOAP Developer’s Guide 6.5 on page 73 under “Registering A SOAP Processor”
It goes on to note that the package with this startup service must list WmPublic as a dependency so that WmPublic loads before the custom package.
On 6.5 “for years?” It’s only been GA since May 2005. I guess 1 7/12 qualifies as “years” I suppose.