Because of the Message request feature, many people just flat out don’t notice when they get a DM until hours later. It’s happened to me, and I’m confident it’s happened to a good portion of the people I’ve DMed who only reply hours later.
However, an issue like this could easily be solved by adding a channel to the trading category made solely for DM check pings. People who post a trade message would not have to check their pings every couple of minutes, and people who DM them wouldn’t be at the mercy of the OP remembering to check their “Message Requests” tab. It could have a 15-20 minute cooldown so it’s not spammable, and if possible, rep could be disabled so it doesn’t turn into #|trading_thanks 2.0.