Strange, that's what I used. I had to tinker with the unyaffs source to get it to compile with the yaffs filesystem kernel source I had.
Basically, I downloaded the latest yaffs-utils tarball, added a missing #define to one of the header files (the yaffs2 module for my kernel revision seems to have dropped it), compiled it with crossed fingers, then just used the resulting binary to extract the image.
In fact, I just did it again, so it works for me.
Had to squeeze this into yaffs2utils.h for it to compile:
#define YAFFS_UNUSED_OBJECT_ID 0x0003FFFF
And even though I have little clue about what that's used for in the source, it seems to work.