Alen Halilovic scored the only goal of the afternoon in the 55th minute as Middlesbrough were left with just two wins from nine league games this season.
Boro finished the fixture a man light as Crooks was dismissed with four minutes of normal time remaining after a collision with home goalkeeper Luke Southwood.
Warnock was notably frustrated by the decision to dismiss Crooks, who he felt had every right to challenge for the ball.
“The referee [Peter Bankes] was in a terrible position,” Warnock said.
“He said that he saw the tackle and then had advice from his linesman who was 45 yards away. A young linesman who looked about 18. The linesman said he saw Crooks go in for the ball with his studs high and endangering him [Southwood] so he immediately said red card to the referee.
“Peter didn’t have a very good second half and he was in a terrible position and he’s listened to a young pup with a flag in his hand.
“It’s terrible really. I’ve been in the game 42 years and this group of Championship referees at the minute is probably the worst I have ever come across.
“Honestly, if Matt hadn’t have gone in for that challenge, I’d have probably fined him.”
On the performance, he reflected: “I can’t fault the effort that my players put in but I don’t think that we created enough chances.”
Reading: Southwood; Tetek (Stickland 90), Yiadom, Laurent, Rahman; Drinkwater, Dele-Bashiru; Halilovic, Swift, Ejaria; Junior Hoilett (Puscas 90). Unused substitutes: Rafael, Ehibhatiomhan, Clarke, Bristow, Sackey.
Middlesbrough: Lumley; Peltier, McNair, Fry, Bola; Howson, Crooks; Tavernier, Payero (Lea Siliki 61), Jones (Olusanya 61); Sporar (Watmore 79). Unused substitutes: Daniels, Hall, Ikpeazu, Bamba.
Referee: P Bankes (Liverpool)