Cannot unserialize WordPress serialized values in `wp_options` table?

Your problem is that serialized strings contains escape slashes that are not evaluated as such, because the wrapping quote is a single quote.

You are using:

$v = 'a:2:{i:0;b:0;s:8:\"auto_add\";a:0:{}}'; // wrong

You have to use either

$v = "a:2:{i:0;b:0;s:8:\"auto_add\";a:0:{}}"; // ok

or

$v = 'a:2:{i:0;b:0;s:8:"auto_add";a:0:{}}'; // ok

By the way, you should never manually unserialize values in WordPress database.

When you need to get an option (or a metadata, or anything that may be serialized) use WP functions: they unserialize the value when needed.

E.g. for options, use get_option.

If you are interested in how WordPress do unserialization see maybe_unserialize
and is_serialized.