RE: Canadian Payroll 'Year end' processed before applying 'Tax Update' patch
I would think that the Year End reset probably calculates some values and then dumps CPY40101 and transplants the data from CPY50103 into CPY40101. Given that they say to make a backup BEFORE running this and that it's not un-doable it's not hard to stab in the dark and say that it must be doing that. The issue is knowing what else it might do, to other tables or parts of the database (or how it transplants the numbers, does it select and update raw numbers or run them through a formula to validate them?). I generally tend to stay far away from the DB, only using SELECT statements to find say a particular number so I can cross reference that back into an application window.
Last year at T4 time Microsoft put out a bad patch which messed up the T4 numbers for a lot of people, our systems included. There was a post patch in the form of EXE and in the form of a SQL script. The SQL script could be run on it's own (which we did and it fixed it without having to go through a full day of updating desktops, servers, and the damned company database updates! - We have 30 companies so it's a full 8 hour day each patch cycle for us!). If you had the wrong patch last year and never got the SQL script to fix it that might result in some calc somewhere not working right this year.
community.dynamics.com/.../canadian-payroll-t4-cpp-qpp-and-ei-maximums-stopping-at-2011-rates.aspx
If it's really wrong I wouldn't mess with it much more, I would say get a VAR who deals with GP or open a case with MS. They will know how to fix the tables and frankly it's not worth risking having a perpetual flaw in the system. And with the CRA looking over these numbers for all your employee's it's not worth the risk in having something funny showing up.
My advise, kick all the users out if you didn't run the 2012 tax update patch last year or your numbers were weird last year, back it up, look at the code of the patch, run it, check your T4 numbers for this year, if they are right you're probably fine. If not, I'd stop, restore your DB to before you ran the 2012 SQL patch and then let your users back in. There should be transactions made during your testing phase IF you went down this road.
Remember I'm just some guy off the internet, I don't work for Microsoft and you're risking your data if you try my suggestions. They're just ideas I have, I make no promises they will work or not. :-o