The notes in MCCommands.h might help about issuing to a specific zone:
///////////////////////////////////////////////////////////////////////////////
// Playback (range 10,000 to 20,000)
//
// To issue playback commands to a specific zone, mask these values with the parameter:
// Current Zone: 0
// Zone Index 0: 16777216 (or 0x1000000 hex)
// Zone Index 1: 33554432 (or 0x2000000 hex)
// Zone Index 2: 50331648 (or 0x3000000 hex)
// Zone Index 3: 67108864 (or 0x4000000 hex)
// Zone Index 4: 83886080 (or 0x5000000 hex)
// Zone Index 5: 100663296 (or 0x6000000 hex)
// etc... (keep adding 16777216 (or 2^24)) (up to Zone Index 31)
//
// for the geeks, this is the top 6 bits of the 32-bit parameter
// the lower 24 bits are used for the rest of the parameter (see the C++ macros below if you like)
// if bit 32 is set, we assume someone passed in a simple negative number, so discard the zone portion
//
// for parameters >= 0: zone number + parameter
// for parameters < 0: zone number + (16777216 + parameter)
// example: parameter -1 to zone 3: 67108864 + (16777216 + -1) = 83886079
///////////////////////////////////////////////////////////////////////////////