In DIX, the RP includes a nonce in the request, which must then also
be in the nonce which would prevent replay attacks assuming the RP is
managing nonce state would it not?
Only if each authentication token is only single-use. Otherwise,
an attacker can replay it during the validity period. Even then,
cut-and-paste attacks are still possible if you block the
initial request.
I saw the security risk here being the reliance on DNS for identity
of the IdP in the verification step.
Hmm.... I think this depends on the design. If you're using
SSL/TLS, you should be able to block most attacks of this
class, provided you have a CRA authentication method...