Ugh... that error.
Basically your MySQL connector has an apparent problem that is corrupting data when it's written to the database. Upgrade your MySQL client library in PHP to fix it (contact your host or server person). The theory is that the mysql extensions in your PHP installation are buggy. I don't have a specific version to recommend... just the latest stable version.
There is not a specific bug that I have identified here. It's just process of elimination. I debugged this problem for another customer once (as did Mike). I verified that the data is correct in XenForo up to the point when the query is handed to MySQL. Then for some reason the query doesn't write the correct information.
Also, it's important to realize that the nature of the unserialize() error you posted is that the information in the database is corrupt (corrupted by this alleged bug in mysql). So the error will still exist on your forum even after the mysql problem is fixed. You could restore a backup from before the error started, or it
should be safe to run this query to clear the registry:
Code:
TRUNCATE TABLE xf_data_registry;
All of the registry entries should be automatically rebuilt on the next page load. And if the bug is fixed at that point then the data should be written correctly which will fix the error. But please backup before doing this.
For reference:
http://xenforo.com/community/threads/upgrading-server.30960/