Eddard's sense of virtue prevented him from treating Theon like a hostage since the Greyjoys and Starks shared an alliance in the North. He couldn't have known that the Greyjoys were plotting a hostile takeover of Rob's land (in later books), and he wouldn't blame Theon for "the sins of the father", I suppose. The Lannisters were always incredibly corrupt and seemingly opportunists, so it's no surprise to me that Eddard did not trust them--especially since Jaime was more or less a traitor to the crown (Aerys Targaryen). His sense of honor is somewhat Kantian in that it is rooted in duty, not a Divine or purely objective morality, so I would think that he would consider it to be his duty to confront the situation in Kings Landing despite the consequences. Remember, this is the guy (I'm theorizing here) who took in his sister's son (Jon Targaryen, heir to the throne) and feigned infidelity to Catelyn in order to accomplish his duty of defending his family and the crown. I don't think he's stupid, he just values duty above all other things--even when the dutiful option may seem foolish. That's how I see it, anyway.