Unlike what you've been told in the comments, the unserialized value of a serialized boolean TRUE is still true. It seems the problem is not your memcache but your check.
Try checking weather your variable is === true
rather than printing it out and you'll see.
Here's some example code to show you how this works:
<?php
$peter = true;
$serPeter = serialize($peter);
$unserPeter = unserialize($serPeter);
if($unserPeter === TRUE) {
echo 'TRUE';
}
elseif($unserPeter === 1) {
echo '1';
}
else {
echo '$unserPeter is : ('.$unserPeter.')';
}