Theon has been Lord Stark's ward since the Greyjoy Rebellion. He has now come of age and Balon has behaved himself so it would have made sense for Eddard to send him home, or at least ask Robert to clarify his position. There seems little point in making him stay at Winterfell.
Theon wasn't being kept as a reward for Balon if he behaved well, Theon was a hostage to be used against Balon if he misbehaved.
With that in mind, consider what was happening at the time. The King's Hand has just died, and Eddard receives hints that it may not have been natural. Robert has come to visit Eddard and ask for his help. This is a time of stress for the kingdom. Why would Eddard or Robert even consider removing what they consider to be powerful leverage against dangerous neighbors?