First, you'll need to make sure that you store the fields you are indexing. This is required so you can get the index results back, instead of the documents that matched the index.
Add this to the bottom of your index definition:
StoreAllFields(FieldStorage.Yes);
Or if you want to be more verbose, (perhaps your index is doing other things also):
Store(x => x.Game, FieldStorage.Yes);
Store(x => x.Member, FieldStorage.Yes);
Store(x => x.List, FieldStorage.Yes);
When you query this, you'll need to tell Raven to send you back the index entries, by using ProjectFromIndexFieldsInto
as described here.
Next, you need to realize that you aren't creating any single index entry that will match your query. The multimap index is creating separate entries in the index for each map. If you want to combine them in your results, you'll need to use an intersection query.
Putting this together, your query should look like this:
var q = session.Query<TradingIndex.Result, TradingIndex>()
.Where(g => g.Game.In(gamesIWant) &&
g.List == TradingIndex.ListType.Tradelist &&
g.Member != me.Id)
.Intersect()
.Where(g => g.Game.In(gamesITrade) &&
g.List == TradingIndex.ListType.Wishlist &&
g.Member != me.Id)
.ProjectFromIndexFieldsInto<TradingIndex.Result>();