I work at a large university. We use iPXE to chainload to a SYSLINUX/PXELINUX menu via HTTP. From there, we usually use MEMDISK to load Linux or Windows installers.

What I'm hoping to do is change to booting the wims directly off the server. I can do it using the generic wimboot instructions, but not from the SYSLINUX menu. Any pointers on how to get that to work?

If you want to keep your PXELINUX-based menu you can run ipxe.lkrn from a normal PXELINUX menu (it looks like a Linux kernel) and make it run your specialized script. I think http://ipxe.org/ has some docs for that too (try to search for ipxe.lkrn). Be aware that this last option requires the client machine to have native iPXE drivers, as ipxe.lkrn will not reuse the UNDI/PXE stack currently loaded.

The compilation targets named ipxe.* contain all drivers supported by iPXE. If it doesn't load, then you're either using unsupported hardware, or you've hit a bug in one of the drivers. You can use the tool util/niclist.pl to figure out what hardware is supported. The --format csv param is quite useful if you need to grep/search for your hardware id. If your hardware is not supported you'll have to use undionly.kpxe to take advantage of iPXE's UNDI support.

With this, I have wimboot working through a vesamenu at my work.
Some notes, if you don't feel like using that version of Syslinux, or applying the patches, you will have to create a cpio archive yourself of the files, then reference that file as the initrd, but it _should_ work.

Once the patches get accepted into Syslinux (probably in the 5.00 branch), there will be documentation created for this, but for now we were holding off, since it's not in the offical tree yet.