Question: If a branch instruction is used in the middle of a procedure the rest of the code in that procedure gets eliminated.
Answer:
You cannot use an indirect branch within a .proc region.
You cannot branch outside of a .proc region.