Erwan,
I think that the line initrd is not correct.
You should add a parameter that indicates where PXE Server is running from, not only the IP of the server.
For example, I have PXE Server running from drive H: .
We need something like:
initrd ${boot-url}/${PATH_TO_TPS_DIR}/images/test.vhd
Uhm, I have to disaggree there : TPS HTTP server is actually serving / exposing the folder (and files below) containing your boot filename.
Lets say TPS runs in C:\TPS but you picked up ipxe.pxe which is in H:\PXE, then ${boot-url} will actually point to H:\PXE.
The folder where TPS runs is actually not relevant.
The folder where your bootfilename is located is relevant.
This folder (lets call it root) is determined when you select the boot filename and go online.
When you click online, TPS will actually tell you where your root folder is (=http/tftp root).
You can also automatize it thru the config.ini.
Therefore if your images are (should be) in H:\PXE\IMAGES, the correct initrd will be initrd ${boot-url}/images/whatever.img.
My best advice thus is that you run it all in one unique folder.