I've figured out how to change these parameter programmatically using either SetOptions or CurrentValue built-in functions. I have now set "ConsoleMessageAction"->"PrintToNotebook" under $FrontEnd.
Still, all messages go to the Console.
A simple 1/0 evaluation shows this.
In[12]:= 1/0
Out[12]= ComplexInfinity
Then I checked the current settings value for "KernelMessageAction" under $FronEndSession.
In[15]:= CurrentValue[$FrontEndSession, {MessageOptions, "KernelMessageAction"}]
Out[15]= "PrintToConsole"
Wait. What? How is this getting set?
Let's change it.
In[16]:=
CurrentValue[$FrontEndSession, {MessageOptions, "KernelMessageAction"}] = "PrintToNotebook"
Out[16]= "PrintToNotebook"
Now our divide by zero test prints the error message to the Notebook.
In[17]:= 1/0
During evaluation of In[17]:= Power::infy: Infinite expression 1/0 encountered.
Out[17]= ComplexInfinity
So, how is this getting set in $FrontEndSession?
While this fixes my problem, I'm not sure how it got set this way. If I shutdown Mathematica and start it back up, it seems that the change is permanent.
Solved for now.