In mBot 3 we had a workaround to be able to re-use code by loading it into a sprite and saving the sprite, then loading the sprite in the new program.
In mblock 5 there seems no such workaround.
This is important to teach modularity in programming. The value of MyBlocks is much reduced to the students if they have no way to copy from one program to another.
The best workaround I found so far is to add all my code block in a starter file, then once the new program has been written, delete the unused blocks to save Arduino memory. Its a kluge.
I suggest the support for multiple robots be extended to support file save and open per robot. Then the code can be copied and pasted from a previous program to the program under development.