First, great thread...
Second, there is no such thing as 'job security', especially as a program, and triple so as a game programmer.
Why? Programming in itself should be looked upon as a contract job since each project has a start and end date. This is in comparison to something like an accountant, which is a continuous process that has slow and fast periods.
I have worked salary and contract programming jobs in the US and Japan (including Canon and Dell headquarters), and the only difference is the contract jobs pay more. When you are good, they keep continuing your contract, or don't lay you off. In either situation, look at the end of the current project as your last day. If you want to stay, get involved with another project.
I recently read a book by two major managers/leads for UO and Everquest, and they both agree that programmers should be staffed up and reduced during the phases of development.
People keep arguing that programming should not be compared to engineering. Actually, programmers should be compared to construction workers. You can be proud of what you built, but only those who had stake (i.e. investment) in the project will stay, and/or make a profit.
i am not suprised in the least of the layoffs, and kind of agree with them. If the programmers are suprised, they are ignorant. The only reason 'lay off' was used is because they had a salary. Truth be told, they just were not needed anymore.