One thing that will screw up your year end close is to have accounts with the wrong posting type. The Posting Type is set in Cards->Financial->Account. The options are Balance Sheet or Profit and Loss and this field determines whether or not an account gets closed to Retained Earnings when the year end close is run. If everything is not right, you get balance sheet accounts closed to RE or income statement accounts still open at year end. It's not fun.
An easy way to check this is with the Accounts smartlist. If you're like us and you use a range (1000-3999 for BS for example) to separate Balance Sheet from P&L accounts, you can set a search criteria to look for anything in the range that is wrong.
For example I have a criteria of Account Number Less Than 4000-00-000000 (our first Revenue Account) and Posting Type = Profit and Loss. This will tell me any mis-classified BS accounts. I switch the less than to greater than and P&L to Balance Sheet and I can check the Income Statement accounts.
When you find mis-classified accounts, you can drill back and fix them with the link in the corner of the smartlist.
Keep in mind that Unit Accounts are always treated as Balance Sheet accounts but they don't affect the P&L. Also Allocation (Fixed or Variable) and non-financial accounts may be listed as Balance Sheet accounts. Non-Financial accounts don't affect the Financial Statements and Allocation accounts never carry a balance themselves so they can be left alone.