No, the magic cookie (PK\005\006) is at the _end_. The central directory and file entries also have magic cookies (PK\001\002 and PK\003\004 respectively), but those don't have to be at any specific position but are pointed out as file offsets rooted in the PK\005\006 header at offset file_size-22.
AFAICR it was standard practice to make self-extracting ZIP:s on MS-DOS by just cramming an MZ binary before the archive (and adjusting the offsets accordingly).
It should be pretty easy to just put something at the start if creating the archive by hand like Filesystem.Zip is doing.
pike-devel@lists.lysator.liu.se