Sorry, my mistake. I did not understand what you were doing.
IMO, the way you have it setup is fine, all the defun's in the .mnl file will be ready to use everytime you open a dwg. i.e. their are all loaded at once. My custom .mnl file is much the same way, except I have more than 19 in mine!! The programs I use on ocassion say once a day I load as needed, like so;
(defun c:program () (if (not c:program)(load "program")))
that way it's not loaded until I need it.