There is no rationale why SCP03 would work with a fixed host challenge and not with a random one, because the host challenge can be anything which is 8 bytes (and indeed for security reasons it has to be random and unpredictable from the card side). It would help if you shared the full APDU trace including the status words. Obviously, your handshake is failing because of something else.