I expected it to perform the join inside a sub-select and then select from the result set as a single set of values. That would have helped explain why it did the first query you posted the way it did.
Ah well, I'm stuck. Sorry.
"The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
- Theodore Roosevelt
Author of:
SQL Server Execution Plans
SQL Server Query Performance Tuning