No need to unload a mnu to get the mns written
when you load a mnu acad creates the mns and a mnc
acad actually just uses the mnc (compiled) but the mns is human readable.
if you change a toolbar graphically(in the editor) as opposed to editing the text in the mnu, the changes will only be updated in the mns file not the mnu file and you will therefore lose those changes if you reload the mnu file. one approach is to refrain from editing toolbars in the editor and do your changes manually in the mnu file, delete the mns and mnc files, then reload the mnu file, and you will always keep your changes. another approach is if you edit the toolbars in the editor, immediately open the .mns file and copy the changed lines, then open the mnu file and paste them where they go, delete the mnc and mns files and reload the mnu. that way also you will retain the changes. if your menu file calls any lisp routines, the mnl file is the usual place to put those routines because acad autoloads the mnl file when it loads the mnu file and your routines will thus be available when you call them from the menu. it's not absolutely necessary to follow this, you can load them other ways also, it's up to you, but generally the mnu and mnl are seen as complementary files that contain(mnl) and refer to(mnu) the same routines.
hth
Mark