If Richard did kill the princes, he saved Henry Tudor the job. From what I've been reading from the research of his wounds, Leicester had deduced that the helmet had been ripped from his head and he was 'summarily executed' on the battlefield. It seems that Henry did not want Richard leaving Bosworth alive. He was as ruthless as the best of them.
Yes, I'm sure Henry VII was capable of killing any number of children required. He was ruthless in a meticulous, methodical and detached way, and yet I like him better than Henry VIII (but then I loathe Henry VIII). To be honest, I'm a bit anti-Tudor overall (yes, including Elizabeth), but I'm not overly fond of the Yorkist kings either, so I don't really have a horse in the race. Therefore, I am going to take the opportunity to quote a character of mine on Richard III and the princes in the Tower (because I'll likely never get to use this line and it fits into this discussion beautifully):
“The way I see it, there are only two options – either he did kill them, in which case he was a villain, or he did not, in which case he was a fool. Frankly, I do not know which is worse in a king.”
Basically, killing them quietly was the rational thing to do, and efficient kings need to be ruthless. Did Richard have it in him to be an efficient and ruthless king? I really couldn't say, but if he didn't, I don't think he'd have lasted much beyond Bosworth even if he'd won the battle.