I just happened to be talking to our inhouse council and brought this up.
he believes you are incorrect. There is a legal distinction between a layoff and a firing, where layoff is defined as not for cause and firing is for cause.
At will permits layoffs as you state.
However firings, even in at will states, can still get you into alot of trouble if you don't have paperwork to show that you layed out a performance improvement plan and documented all cases of the behaviour that go the employee fired.
Your inhouse council is also correct. Should it come to a lawsuit, it is supposed to be decided in the way that I described. However there is a world of difference between winning the lawsuit, and not having one. The stronger the case that you have made to the ex-employee, the less likely it is that they will find a lawyer who is willing to represent them in a lawsuit.
Many programmers on this site are in "at will" states like California and Texas. Meaning that you can be fired at any time for no particular reason.
The only time that wrongful termination comes into it is if there is evidence that you had a reason, and that reason is unlawful.