It was really simple in my case. I had empegVNC in /bin/ and my preinit script was pointing to /empeg/bin/ duh! I finally found it by looking at the serial port data stream during boot very carefully. Look at the part of the stream around here (worked ok in this example):

empeg-pump v0.03 (19980601)
Press Ctrl-A to enter pump...VFS: Mounted root (ext2 filesystem) readonly.
change_root: old root has d_count=1
Trying to unmount old root ... okay
Freeing unused kernel memory: 4k initempeg init 0.8
I see this is a developer image!
Mounting proc
Mounting first music partition

I think preinit accounts for the end of the line that starts with "Freeing unused...," preinit error messages should show up just above "Mounting proc" as indicated by Bitt in one of the above posts.

Good luck.

Lynn