I came across something rather interesting with this issue.
Still, without using LCLType unit, I was running into this problem when I launched Lazarus from the shortcut on my desktop.
I went to File> Open Recent> NameOfThisProject.lci.
I first noticed that the unit which my original line came from was in considered read only as far as Laz was concerned. I checked the file permissions and no, it is not read only. So then thought that maybe Laz was loading the wrong unit (Since it is in multiple locations) so deleted the others and just kept this one. Using this method, the unit is not found (Yet exists in the directory). So somehow it was loading up a version of this unit from somewhere else. Ok! Step in the right direction, but still doesn't answer the IFDEF FPC problem.
I closed down Laz, this time launched Laz via the .LCI file and voila the unit shows up as I last had it, and it is R/W. Looking down at this unit, I see that NOW it thinks FPC is defined.
So when using the FILE> OPEN RECENT, is the directory not changed? Am I loading up from some kind of directory (Probably my "Global Units/SQLite" directory), which THAT one was R/O. Why when I launch IDE from the desktop, it doesn't think that FPC is defined?
I'm sorry about ignoring the suggestion of using the LCLType unit, but I need to know how this IDE works to use it effectively. I'm not one of those developers that like to adhoc stuff like this when my usual routine is breaking down. I have a very impulsive need to understand what is going on with this. If I write applications ground up to absolutely remove Delphi from existing and new projects, I have to know where the IDE is getting its stuff, and I'm not seeing where yet, both for files AND for the compiler directives.
Edit: First thing I realized I was doing wrong. I shouldn't be opening the LPI but the LPR. Ok, cool. However, when I load the LPR from the directory (Not desktop) the IDE again thinks that LAZ is not defined.
This project was started ENTIRELY within Lazarus, not Delphi. The only thing that is Delphi related is the SQLite related units I've been using for a few years and don't quite want to let go of.
Time to pull out some text editors.