Actually, it has NOTHING to do with AtmelStudio or VisualMicro, which simply use the existing Arduino build process. The real problems have to do with the incredible amount of flat-out WRONG information out there (including some given in this thread), and the fact that the Arduino build process is bizarre, to say the least.
First, I found multiple web sites, as well as information given in this thread, telling me that any additional files must have, and here I quote directly, "NO extension". This is flat-out wrong. The files must ALL have a .INO extension.
Second those same sources indicate that all included files, with "no extension" must be opened in tabs in the IDE. This, too, is flat-out WRONG. They must simply be stored in the same directory as the main .ino file.
Third is the fact that the build process operates in a truly bizarre way, that seems to me designed to fail in random ways. It first grabs the main .ino file, which MUST have the same name as the directory it is in. It then appends ALL other .INO files it finds in that directory, and does so IN ALPHABETICAL ORDER of all things, with upper case taking precedence. It then does a less than perfect job of creating prototypes for the functions it finds in all those files. In some cases, for reasons I can't fathom, it will NOT correctly resolve forward references, making it necessary to either MOVE those functions to a file that lands higher in the alphabetical sort order, or manually create a prototype for those functions. The same goes for variable definitions. Very weird indeed....