You don't pass the 'resolved' callback to the call to all, you call done on the returned promise and pass the callback to that:
all
done
This worked fine when I tried it:
Q.all([promise1, promise2]).done(function(docs){ console.log("promises resolved");});