I opened a case with HP concerning this issue. After escalating past the useless Level 1 tech, the Level 2 tech very alertly spotted something that I had not.
The SRX is sending its DHCPDISCOVER packet with a TTL of 1. The Procurve's apparently will decrement the TTL and use the resulting TTL in the relay'ed packet to the DHCP server. In this case, the decrement leaves the TTL at 0 meaning the packet gets dropped on the floor.
This is actually in spec for DHCP/BOOTP relay, though clearly it causes reduced interoperability. I have asked HPNetworking to treat this as a bug/RFE and change the behavior. No immediate response to that request in the case.
The SRX sending the DHCPDISCOVER with a TTL of 1 is also probably within spec, but, again, a choice of reduced interoperability, so I plan to open a case with JTAC on the same basis.
I'll add more info on the response of Juniper and HP as it becomes available.
Incidentally, I have tested the relay behavior of a Cisco 4506 (firmware version not immediately available), and a Brocade/Foundry FastIron Edge X (7.2 or 7.3 firmware, I believe, don't have immediate access to confirm) and they both handle relaying the request with TTL 1 without issue.
UPDATE
There is a way to change the TTL value that the SRX uses on its DHCP requests, but its not from within the JunOS cli...its done from the underlying Unix OS.
root@% sysctl -w net.inet.ip.mcast_ttl=64
I have opened an RFE with HP to make their relaying function more resilient, but not response from them yet on if/when that will be worked on.
I solved my problem:
i was able to ping the dhcp router via the lower left router but never tried vise versa. I assumed as the dhcp discover can reach the router there shouldn't be a problem.
Actually the 192.168.1.0 net was missing in the lower left eigrp tables, and the dhcp discover could only reach the server 'cos of the ip helper-address...
I should have tried it for the upper left ones earlier, because everything was fine there, it took me far to long to figure this out -.-
Best Answer
Mostly because that's what the specs say you should use. While the client-id will almost always include (or entirely be) a MAC, it's a bad habit as NICs do sometimes get replaced (failures, upgrades, etc.) Most DHCP clients allow the user to specify an identifier.
BOOTP has no choice, as it has no such option(s). BOOTP predates DHCP, and is far, far, simpler.
(consult the RFC's if you really want to know how it all works.)