Michalik was a first-half substitute for Bolton when he came on in the the 33rd minute when Joey O'Brien limped off.
City suffered a blow in the 74th minute when England defender Micah Richards was stretchered off with a leg injury after taking an earlier knock.
After Diouf hit the woodwork, City defender Michael Ball had to clear Gavin McCann's header off the line.
Bolton boss Gary Megson on the penalty decision: "You have got to be 100% certain if you are going to give a penalty at that stage of the game. I cannot see how he could even be 50% sure.
"It was not clear cut. It was a bit of a nonsensical decision in such an important game.
"But the players deserve great credit for keeping going."
Manchester City manager Sven-Goran Eriksson: "The spirit was there again and we defended very well, even in the last 10 or 15 minutes when Bolton put a lot of players up.
"It was important to go through and reach the quarter-finals. I am happy.
"I thought it was a penalty. The player moved his arm but whether it was intentional I do not know."
Bolton: Jaaskelainen, Joey O'Brien (Michalik 33), Meite, Andrew O'Brien (Campo 77), Samuel, Nolan, McCann, Alonso, Guthrie, Giannakopoulos (Braaten 90), Diouf. Subs Not Used: Al Habsi, Speed.
Bookmark with:
What are these?