After compiling the code using the Arduino IDE I got the same over memory error. That led me to look at what library files were being included when compile. I then found the problem.
For some reason, I have two versions of the EEPROMex library. One is located in the Arduino-EEPROMex-master directory (I believe I downloaded the ZIP from GITHUB and manually installed using Visual Micro ext). The other is located in the EEPROMEx (I believe this version was installed from the list of available libraries included with the Visual Micro ext.).
When comparing the two library files, I found that the EEPROMex.cpp document found in the EEPROMEx-1.0.0 folder contains the following un-commented line:
#define _EEPROMEX_DEBUG // Enables logging of maximum of writes and out-of-memory
The EEPROMex.cpp file in the Arduino-EEPROMex-master folder has this statement commented out.
This statement causes the compiler to add debug code to the complied results.
Why did this effect Visual Micro new version Vs older? I think it's because I was compiling the older build using the original EEPROMex-master directory the newer Visual Micro build uses the EEPROMEx-1.0.0 directory. By default, the Visual Micro library installer, uses the EEPROMEx-1.0.0 folder. Once uncommented the statement in both .ccp files, and "cleaned" the solution to rebuilt, both versions of Visual Micro resulted in "code exceeding flash memory" error.
After I commented out the #define EEPROMEX_DEBUG line in both versions of the library my code now compiles equally in older and newer Visual Micro ext.
My conclusion is, nothing wrong with the Visual Micro extension. Thank you for steering me toward find a solution!
b