The Haas controller does not automatically insert line numbers so you can remove them; the editor has that function to make it easy.
Are you doing external, M98, subprograms or internal M97? With the M97 you can have any number you like. The way the Haas control works is that if you have M97 P2000 it looks for line N2000 in the program that is running and goes to that line; actually if you had more than one line labelled N2000 it will go to the first one it finds.
Are you calling the subprograms for each tool as well as each work offset? A bit more explanation would make ity easier to come up with suggestions.
An open mind is a virtue...so long as all the common sense has not leaked out.