A couple of things:
First, I don't think you need a licensed version for running the macros. The only limitation that I'm aware of is number of lines in a program (500 IIRC).
Second, make sure you're looking at the correct location for your M6Start.m1s (and all other macros as well). In the Mach3 folder there is a folder called "macros". Inside that folder are other folders such as Mach3Mill, Mach3Turn, etc. You should also have a folder with the same name as the icon and .xml file you use to start Mach3. In my case, there is a folder named 6040Z and that is where the macros are stored for when I start up Mach3 with an icon also named 6040Z that uses an .xml configuration file in the Mach3 folder also named 6040Z.xml so as you can see, everything matches up. If I edit a macro in the Mach3Mill folder for example, the changes would not show up when I run Mach3 from the 6040Z icon.
Finally, I don't believe the Sub Main() and End Sub Main() are needed here and this may be part of the problem. This may cause the code within the Main() to not execute depending on how Mach3 VB interpreter handles that. I have not used them in my code nor have I seen it used in other macros (out of the box defaults that are installed with Mach3) and everything works just fine.
Hope that helps,
Stephen "Highspeed" Kruse