The West Brom defender became a father again last week and was given the option to sit out the 3-0 defeat.
"It's unbelievable - I gave him the option to miss the game and he came back in to play," said O'Neill.
"I think that says everything about Jonny Evans, in terms of his attitude to play."
Alongside Evans in the starting line-up was debutant Matthew Lund of Rochdale, while Shrewsbury's Ryan McGivern and Ross County's Liam Boyce were among those to get on the field too.
"I don't have a deep squad, that's pretty simple," O'Neill said.
"We're playing against Croatia who are bringing in young players who are at Napoli and Inter Milan.
"With all due respect, we're bringing in lads that are at Shrewsbury and League One clubs - we have to be realistic when we ask them to come and play international football."
A depleted Croatia team, missing the likes of Luka Modric, Ivan Rakitic and Dejan Lovren, ran out comfortable winners at Windsor Park, where the hosts were last defeated by Portugal in 2013.
It rounded off a successful calendar year in disappointing fashion, though it will certainly not overshadow the memories of Euro 2016 and the record 12-match unbeaten run O'Neill's team compiled en route to France.
However, having played this fixture just four days after beating Azerbaijan in a World Cup qualifier, O'Neill admits he needs to look at future schedules.
"I think a friendly after a competitive game is maybe not something we would do again," he said.
Northern Ireland boss Michael O'Neill has praised the commitment of Jonny Evans after he played against Croatia despite the arrival of a new baby.