IMHO, there is usually the "real" reason and then there is the politically correct reason and most companies will give you the politically correct version every time. I've seen people get let go due to them having an illness, and they just say stuff like "your position has been eliminated" because they can't legally get rid of someone for their illness and since they did indeed get rid of the position (by renaming it and giving the spot to someone else) there's not much you can do. Same thing with references. I've always only been able to give dates of employment and salary if the employee/former employee agreed to the salary part. I've had people try to get more information from me but I tell them my job is on the line if I tell any more than that. I don't think most companies will give you the real reason but maybe I am jaded.