FYI this is how I unpack an initrd (actually an initramfs):
gunzip -cd <path to initrd.img> | cpio -i -d -m -H newc --no-absolute-filenames
Probably gzip -cd would give the same results, I didn't try yet. The "-m" option of cpio preserves the modification time.
Semi-blind guess: the command you use to repack the initrd is the culprit. Try this one instead:
( cd <tree>
find . -print | cpio -o --owner root:root -H newc | gzip -9 > ../isolinux/initrd.img
The option "-H newc" could be what you miss.
If that doesn't work, please post the full command you use to build the ISO and if possible upload your initrd on a publicly accessible server so we can have a look at it.