Around 30 minutes minimum, and around 60 minutes maximum.
It seems that most invasion missions take about 30 minutes (playing on higher levels) and this seems a decent time. Other missions I have played fit this kind of time scale. It allows you to rotate crews around when you have lots of players, so people aren't sat doing nothing and just watching. When a mission lasts less than 30 minutes (say 20 minutes) and it doesn't feel like you get "stuck in" enough. It feels more like a quick skirmish than a proper mission.
As for the 60 minute max, I have played missions that have lasted longer (2 to 2.5 hours) and they tend to begin to drag. I'd determine therefore that any mission over 60 minutes would begin to get boring. If you want a longer mission, then there needs to be a VERY good story line driving it with plenty for ALL the officers to do throughout. So far, I have not managed to find (or script) such a mission.
So there you go, that is my vote and reasons! Hope it helps.
Totally agree with Xavier. It is difficult to keep all the players engaged on longer missions. Comms can start by collecting info and moving ships but eventually they just end up relaying messages to the captain. Other stations develop similar quirks on longer missions which cause boredom. And if you attempt to correct this you either end up with a massive script. (Working on one that was going to be 3 hours or so and the mission is massive to say the least) So if you really want to script one in a feasible amount of time and keep it interesting keep it close to the frames Xavier mentioned.
And the hope that the war against folly may someday be won, after all