Had to check boxrec to see if he came in over, there are no weights listed for his fight against Branco, so it's possible it was that one, but all of his other fights he was within the limit. As for why he didn't move up sooner, you are not going to find this answer here. You need to ask his peeps why he did that. Try the Miguel Cotto fan board.
I've been a member there for ages...they won't know either. Maybe Rolando might, but the questions hypothetical anyway. I put it to you that he didn't move up because he simply wasn't ready to mix with the fighters that were hanging at 147 at the time. It's a lot easier to say 'there was no one left decent to fight at 140 so we made the best of it' than it is to say 'he's still learning and isn't ready for the big boys yet'...

After all of this on here, I will state the following:

Cotto destroys Hatton at 147, just my opinion, and I'm entitled to it.
Cotto beats Hatton at 140, if it's not in Manchester and provided Cotto could make weight.
Both guys destroy Vivian Harris at 140 or 147.
The reason I bring up the Manchester thing is this. Fighters there are allowed to get away with things, that aren't allowed in other countries. Hatton has had only experience fighting there (Collazo fight, the exception of course), his style is based on being able to make those exceptions. When those things are taken away, he doesn't have the advatages anymore. It makes it more difficult for him to apply pressure when he can't hold and hit as much.
Surely you're not that naive?

This is not a knock on the Manchester boxing people, all places have hometown judges, all places let some things pass. So I guess since I can't answer your question about Cotto not stepping up to 147 earlier, I will simply pose a question to you. Why didn't Hatton leave the UK sooner?
Simple...for the same reason Miguel fights wherever he can draw the biggest crowd - $$$$