With the latest hotfixes and the Infrastructure Update applied the majority of causes of the "unexpected error has occurred" should now be eliminated. There may still need to be some cleaning up to finally resolve the problem - and this usually means publishing the plans again that are leading to the issue. Occasionally this may also need to be combined with deleting the project from just the published database, and also using the ProjTool utility from the SDK to do a full publish.
There is however still one other class of error that can lead to the unexpected and that is due to a change in the way the status manager is applied in 2007 compared to 2003. In 2003 the status manager (the person who gets the updates) related to the assignment. In 2007 this has changed and now the status manager relates to the task - and all assignments under the task. So in 2003 you could have multiple status managers for each task if there were multiple assignments - but for 2007 only a single status manager can exist for each task. For projects imported from 2003, and I think also for projects created from templates that came from 2003 it was possible in 2007 to end up with different status managers for assignments of the same task. This could lead to a number of issues - the unexpected error on My Tasks, and also it could cause problems with the update process as the "real" status manager would not necessarily get the updates and these may not be seen by the "false" status manager. So if you have updates that are not getting applied to the plan check the status manager to see if you have this condition. The task usage view is probably the easiest place to see the problem - and also to resolve it - by copying down the right status manager to all the assignments in the task.