Rovers had picked themselves up off the canvas in recent weeks with wins over Swindon Town and Gillingham after a wretched start to the League Two season left them at the foot of the table.
But Tyrell Warren, Ged Garner and substitute Emile Acquah netted their first goals of the season as Barrow won 3-2 to record their first win in four games.
Warren had not scored since finding the net against Rovers in September 2022 but he rose superbly to convert Elliot Newby’s cross to give Pete Wild’s side a 12th-minute lead.
McCann’s visitors fell 2-0 behind eight minutes into the second half, Garner firing in a deflected free-kick after goalkeeper Louis Jones had been penalised for handling outside his area.
Doncaster gave themselves a glimmer of hope three minutes later when Joe Ironside headed in his third goal of the campaign before Acquah made it 3-1.
Mo Faal’s goal in the fourth minute of stoppage time ensured a nervy finale for the Cumbrians – but they held on.
McCann said: “On transitions we treated it as a rest, which is frustrating because we had worked on it all week.
“It was not good enough and we deserved to lose, even though we showed a bit of fight to get level at the end. When we scored and went to 2-1 we went route one and stopped doing what we needed to.
“It is not the way I want to play and I didn’t enjoy the last 30 minutes of the game. It is a disappointing day for us.
“But for whatever reason, we didn’t have the hunger about us to score. That is something I need to look at and watch. It is so disappointing.”
Barrow: Farman, Chester, Ray, Canavan, Warren (Stephenson 61), Gotts (Foley 61), Spence (Feely 89), Campbell, Newby, Garner (Whitfield 71), Telford (Acquah 72). Unused substitutes: Lillis.
Doncaster: Jones, Nixon (Rowe 58), Olowu, Anderson, Bailey, Molyneux, Westbrooke (Roberts 57), Biggins (Faal 58), Close (Broadbent 58), Ironside, Marsh (Sotona 73). Unused substitutes: Faulkner, Bottomley.
Referee: S Oldham (Lancashire).