1. You can use Spring.EditUnitCmdDesc(u, cmdID, {hidden = true}) to hide a build-menu option, but you may not show it later by setting it to false. I tried various contexts, and it just doesn't seem to work. It's specific to build-menu commands (i.e., negative numbers).
2. Same goes for disabled = true. You can disable it, you may not re-able it.
3. You cannot insert a new build command into a Unit, even if that Unit has that build command as part of it's UnitDef. IOW, if you remove it, it's gone forever.
It's weird. Hiding / showing etc. works just fine, for all command IDs in the positive range, but only works one way for negative ones.
I know that the build-menu stuff is being handled differently than other elements, but the one-way nature of it is very strange, and made what should have been a very simple task into something like 6 hours of forehead-bashing and frustration
