Terry was booked in the second half of Chelsea's 3-0 win in the FA Cup semi-final at Wembley when he caught Milner on the calf with a high tackle in the Aston Villa half.
After treatment, Milner was able to continue, much to O'Neill's relief after an incident that left a sour taste in the Irishman's mouth.
"It was an horrendous challenge on an England team-mate," said O'Neill.
"James Milner is exceptionally lucky his career is intact. It should have been a straight red card.
"It could have been very serious. James is lucky to have got away with it. The fact his leg was in the air helped. I have spoken to the doctor who says he's a very lucky boy."
It was one of two contentious incidents in the game that left O'Neill fuming, with his ire directed in this instance at Terry and referee Howard Webb, who the Villa boss is convinced did not take the correct action.
"He's 15 yards outside the box and going away from goal. It was a pointless challenge," said O'Neill.
"But he made it and therefore the consequences of it should have been a red card.
"It was an obvious decision. You didn't need four replays to see it."
Just over a month after leaving the same stadium furious that Manchester United defender Nemanja Vidic was not sent off for a foul on Gabriel Agbonlahor in the opening minutes of the Carling Cup final, O'Neill believes Villa suffered an even greater injustice this time.
Villa did not get a penalty when John Obi Mikel brought Agbonlahor down, when it seemed Paulo Ferreira was unlikely to get across and cover, leaving Mikel as the last man.
"I am sitting here five weeks on talking about another major incident," said O'Neill.
"It is incontestable. Even the Chelsea players knew, you could tell by their reaction it was a penalty.
"The referee has chosen to ignore it because of the possible consequences.
"The referee bottled it against Manchester United and we have had the same today."
After the seemingly clear-cut decision that went against his own side in their Champions League encounter with Inter Milan at the San Siro, Chelsea manager Carlo Ancelotti has made a point of not courting controversy in such matters.
"It could have been a penalty, but also it might not have been," he said.
"It was a very strong tackle in our box but the referee did not whistle. If he had it would have been a penalty."
O'Neill was clearly too irritated about the matter to get into any discussion about the state of the surface.
Both teams struggled to keep their feet, with Milner particularly badly affected, although Ancelotti did not feel it was too much of a problem.
"The pitch was fantastic," he said.
"Some players did slip but it was adequate."
Ancelotti admitted the eventual 3-0 scoreline was harsh on Villa, who were the better side before the break.
However, once Didier Drogba had scored his 32nd goal of the campaign in the second period, there was never any real doubt Chelsea would go on to reach their third final in four years, Florent Malouda and Frank Lampard completing the scoring.
It keeps Chelsea in pole position to become only the seventh club to complete a domestic league and cup double, although Ancelotti is not getting carried away just yet.
"It is a good moment for us because we are confident and motivated," he said.
"But I don't want to think about what we could win. I want to focus on the next game.
"We are happy to be in the final, now we have five league games to play, starting against Bolton on Tuesday."