okay, so everything seems to work now except for the user_M_path directory. Here's what i've done to get it to work.
when using the ./M100 from the directory, it was giving me a "/bin/bash^M: bad interpreter" which looked like there was a hidden character in there. I tried editing the file from nano (just deleting that line and re-writing it) but that didn't seem to work. So then I just deleted the whole file and re-wrote it in vi (just "sudo vi M100"), and that seemed to make it work correctly from the terminal without adding bash infront of it.
Tested it out first with the callout "USER_M_PATH = /home/gerrg/linuxcnc/configs/Gerrgs_PNC/m_codes/" in my INI file, but no sending the MDI command still didn't change anything. After commenting that line out so it points to the nc_files folder, I restarted everything (and moved new M100 file to the nc_files folder), and it worked! I might fiddle with stuff a bit more to try to get the M codes into a folder (either in the config file or the NC_files folder), but for now it works, so that's the biggest problem solved.
I typicaly use notepad++ on my windows PC to edit any text files on my linuxCNC PC, so i'm guessing that's where the extra hidden characters popped up. I'll try to find an easier work around than using vi since it's a bit funky to me, but I can at least make it work, so that's good. If anyone has any other advice, I'd be glad to hear it, but thanks everyone for helping me get this fixed!