During the great depression, you paid 10¢ and you could sit in the theater for like, 6 hours. They had news reels, cartoons, and then at least one feature (often times a double feature). Hollywood thrived during the depression because they gave people the biggest bang for their buck possible, and because they gave people a chance to escape from their homes and think about something other than their problems.
It's kind of a hard balance to strike now, though. Tickets have gotten way more expensive, but at the same time we have seemingly a lot less time to spend in a movie house. I liked Revenge of the Fallen a ton, but about halfway through I did start feeling like I could use a break. 2.5 hours of non-stop action does tend to become a little numbing on the senses, and I personally wouldn't have minded at all if it was a half hour shorter with one less action scene or two.
Personally, my ideal run time for a movie is right about at the 2 hour mark, but I've got to stress it's not a one-size-fits-all deal. A 2 hour movie, for an action film gives you plenty of time to balance between action and drama. If it's a drama, then it gives you time to even more thoroughly develop your characters and flesh out the plot (however, the key is you have to keep the audience INTERESTED for that long!). If it's a comedy though, then an hour and a half is usually plenty long, because laughing makes people tired so it's better to not overload them.
I think 107 minutes is fine for GI Joe. That's long enough to make us familiar with the characters and give us some awesome action set pieces, and if it does well I'm quite certain that the sequel will be longer.