It is a strong recommendation but not a requirement. Definetely aimed mostly at Cocoa programs but they mention also that for media-rich applications and games it may just not be feasible.
But definetely support 180° rotations, it's just too simple to implement:
// Tell the UIDevice to send notifications when the orientation changes
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:@"UIDeviceOrientationDidChangeNotification" object:nil];
// tell the director that the orientation has changed
-(void) orientationChanged:(NSNotification *)notification
{
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if (orientation == UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight)
{
[[CCDirector sharedDirector] setDeviceOrientation:(ccDeviceOrientation)orientation];
}
}