I always mow first, for the simple eason, that it saves time. When the trimming is done first, inevetibly, more trimming is going to get done than what is actually necessary. Generally, the trim length is equal to that of the mowing, anyway, so it's all the same. However, in extreme conditions, or just long conditions, many of times, the lawn is going to be double cut, anyway. So, what I do then, is again, mow first, then trim. What this does, is two things. First, it pulls all the long grass out freely into the area where it can be cut (already short where it lands). Second, it allows time for the grass that IS cut to dry, so essentially, it can be turned to dust. Now, to double cut is really not all that bad, since it takes MUCH less time to do it the second time, than the first. Mowing around trees isn't as meticulous, and you can sream across the lawn, and even so when doing the border.
Also, just a note: Whenever edging is done, it is ALWAYS done first. This way, much of the debris can be sucked up with the border pass, and then there is less trimming to do on the edges, since you are then only doing a topside.