The options don't keep their state when a category change occurs.
The categoryOptions property of your applications AVAudioSession shared instance is assigned a value of 0 when there are no options set using either of the setCategory methods currently available.
For example this line -
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
is equivalent to -
AVAudioSessionCategoryOptions AVAudioSessionCategoryOptionsNone = 0;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionsNone error:nil];