Similar to Marc W's response, in your own event method you can check the alpha value of the clicked on the bitmap and ignore if the alpha is lower than a certain value.
To get the bitmap, read this.
Now you should have a bitmap pointer like this (pseudocode - you'll have to fill in the pieces):
pixels = CGBitmapContextGetData( ctx ); // there's actually two ways to get pixels in the above Apple tech note
Then, you can do this to get the pixel you are interested in, and test it:
// I'm assuming each pixel is 24 bits of color and one byte of alpha
#define getRed(p) ((p) & 0x000000FF)
#define getGreen(p) ((p) & 0x0000FF00) >> 8
#define getBlue(p) ((p) & 0x00FF0000) >> 16
#define getAlpha(p) ((p) & 0xFF000000) >> 24
CGPoint pixPt;
long pixel;
pixPt = getMouseClick();
pixel = pixels[pixPt.x + pixPt.y * bytesPerRow];
if (getAlpha(pixel) < 25)
// you've clicked on transparent pixels, alpha of 10% or less (alpha ranges from 0-255)
This opens up some possibilities for you, such as having a ring around your inside circle that is inert and won't belong to any of the quadrants or the middle circle. Of course, there's always other ways to do these things without resorting to pixel-wrangling :-)