Matt Taylor's lot were the better side for large spells against the Bantams, and they will feel they were worthy of at least a point.
However, a familiar lack of ruthlessness coupled with some rotten luck resulted in a smash-and-grab victory for the visitors.
Walsall had George Miller and Conor Wilkinson spurn gilt-edged opportunities in the first half, with Derek Adams' Bradford leading at the break thanks to Matthew Daly's deflected effort.
Miller would finally end his long-running drought in the second half, although he did not know too much about it, and the Saddlers pushed for a winner.
But instead, a Zak Mills handball saw the Bantams awarded a penalty, which was emphatically tucked away by Cook.
Another loss and for Walsall chief Taylor, this one will undoubtedly be the most difficult one to take.
The overall display was a lot better than the previous few games, but the end result, ultimately, was the same.
The Saddlers' long search for a win goes on to Bristol Rovers on Saturday.
Fresh face Donervon Daniels came straight in for his Walsall debut amid three changes to the side which slumped to a 2-0 defeat against Exeter City.
Daniels replaced Rollin Menayese, who was sent off after picking up two yellow cards against the Grecians.
Mills filled in for the injured Stephen Ward at left-back, and Miller was back up front – Tyrese Shade dropping out and Wilkinson moving to right wing.
Bradford, meanwhile, had ex-Saddler Cook leading the line while new signing Alex Bass made his bow between the sticks.
Bass should have been picking the ball out of his net in the first few minutes, but he breathed a huge sigh of relief after an astonishing miss from Miller.
A clever move saw Jack Earing find space on the right-hand side of the box, and he squared it across the face of goal.
All Miller had to do was guide the ball into an empty net but, somehow, he got his feet mixed up and the golden opportunity went begging.
Very nearly rubbing salt into the wounds straight away, Bradford raced up the other end and were twice denied by the sharp Carl Rushworth.
He displayed immense reflexes to keep out Liam Ridehalgh and Alex Gilliead.
Miller, desperately looking to make amends, then guided a left-footed strike from the edge of the area high and wide.
It was a frantic start to the encounter but as the pace slowed, Walsall benefitted from the calmness of Daniels.
The experienced centre-half was doing the basics well and organising those around him.
The Saddlers, on the whole, looked brighter than in previous games, and they threatened again.
Brendan Kiernan showed tenaciousness to steal the ball off Oscar Threlkeld before teeing up Joss Labadie, whose looping left-footed effort was tipped over by Bass.
Walsall, it must be said, were largely the better side, but they were behind at the break.
They were punished for their lack of ruthlessness as the Bantams surged forward on the counter-attack, with Daly's deflected strike ending up in the bottom corner.
Saddlers chief Taylor would have been pulling his hair out at half-time, especially having spurned another great opening just prior to the interval.
Daniels headed right into the path of Wilkinson, who was ridiculously denied from point-blank range by Bass.
Walsall, thankfully, got that stroke of luck they were hoping for shortly into the second period.
In what was almost a carbon copy of Bradford's opener, Mills' shot cannoned off team-mate Miller and wrong-footed Bass to level the scores. Just what the Saddlers, and particularly Miller after his earlier gaffe and 15-game barren spell, needed.
From there, the hosts dominated possession. Wilkinson saw a left-footed free-kick gathered by Bass while at the back, Daniels continued to impress.
It did seem, though, that Walsall were in two minds over whether to stick or twist – given the need to just stop the rot first and foremost.
The Bantams threatened as Cook headed towards goal, but Tom Leak was there to block.
As the clash entered its closing stages, the Saddlers opted to freshen things up with a couple of changes. Emmanuel Osadebe replaced Labadie, while Shade came on for Kiernan.
But in very cruel fashion, it was Bradford who grabbed a late winner.
Mills was deemed to have handled the ball while trying to defend a cross, and ex-Walsall man Cook blasted home the spot-kick.
Another defeat for the Saddlers, but this was one was harsh on them.
Walsall (4-2-3-1): Rushworth; White, Leak (Phillips, 90), Daniels, Mills; Labadie (c) (Osadebe, 76), Kinsella; Wilkinson, Earing, Kiernan (Shade, 83); Miller
Subs not used: Rose (gk), Bates, Perry, Willock
Goal: Miller (57)
Bradford (4-2-3-1): Bass; Threlkeld, O’Connor, Canavan (c), Ridehalgh (Foulds, 60); Cooke, Songo’o; Gilliead, Walker (Vernam, 66), Daly (Sutton, 80); Cook
Subs not used: Hornby (gk), Robinson, Pereira, Lavery
Goals: Daly (37), Cook (pen, 87)
Attendance: 4,097 (424)
Referee: Ben Speedie