I'm making a bunch of different configuration changes to my Firewall (NAT/Rules) trying to get the right configuration setup to allow for a sort-of complex rule-set when all of a sudden traffic stops flowing out of pfSense. I can't see a reason why.
What traffic stops flowing? (Apparently you still have contact with the web GUI.) What reasons did you look for? Did you check interface status?
I enable logging for the default "allow LAN to any rule" so I can see what's going in and out of the firewall and if it's blocking anything.
At first it shows states in the state table. And it shows that the firewall is NOT blocking and allowing me to connect to 4.2.2.3 for dns queries... but nothing else.
What other traffic did you try and what was reported?
Eventually as I go about doing all of the below, states no longer show any longer. NONE. Not even me connecting into the firewall itself. The entire States tab is empty. Same for the firewall tab. It won't even show me successfully connecting to 4.2.2.3.
Does the browser show signs of stalling before completing the States display?
SOOooo I make a back up of my config (just in case I need to do anything drastic).
I plug directly into my WAN devices and get a nice internet connection.
I reboot pfSense... that does nothing.
I reset the states... that does nothing.
I reload my config... that does nothing.
I power cycle all WAN devices attached to pfSense... that does nothing.
I go about disabling all of my changes... that does nothing.
I disable all installed packages... that does nothing.
You are getting browser response so the box is at least doing that - that is the box is not doing nothing! So I suspect "does nothing" means there is something you are expecting it to do but it is not clear to me what the box is expected to do but isn't doing.
Then I start with the drastic...
I remove all installed packages... that does nothing.
I DELETE all of my changes... that does nothing.
I reset pfSense to factory defaults and reset just the basic connections (IP for the LAN and WAN along with the gateway for the WAN to be associated with)... that does nothing.
I'm able to get into the pfSense perfectly find through the web configurator. I'm able to SSH in. I'm able to see the shell through VGA and everything seems to respond good.
Again, please elaborate on "does nothing".
The ONLY other weirdness is that after ALL of this and I'm setting every back up again when I change the IP addresses for the interfaces through the VGA console it stops for what seems like an eternity on "Please wait while the changes are saved to WAN... Reloading filter..." Keyboard input shows up on the screen, BUT the system doesn't do anything other than display what I'm typing.
Please type Ctrl-T (hold down the Ctrl key, press the "T" key, release the Ctrl key) on the console a few times at (say) 10 seconds apart and report what is displayed.
so I hit the power button on the front of the server and it'll show pfSense go through the shutdown process, and I'll boot it back up and it'll show my changed IP address (which I can browse to).
It's done this EXACTLY the same twice now.
The only thing I can do to get the system working again is to reinstall pfSense from the CD onto the hard drive and completely override all the files.

That sort of shutdown risks file corruption.
Any idea on where to start on this?
Provide answers to the above questions.
Why this might be happening? How I can prevent it?
I don't have enough evidence to answer these.
I am ussing an brand new SSD in the server. Do you think that could be causing the problem?
No evidence yet for that.
It's corrupting States table or some other file and causing it to be unreadable/writable?
As best I know state tables are kept in RAM allocated to the kernel.
And even though I'm telling pfSense to reset to factory default it's not necessarily re-creating said corrupted table or file?
At best,
reset to factory default restores the initial configuration parameters (firewall rules, IP address, password etc). It does not recover corrupt system or package files.