What would you say:
Who has taken my wallet? orWho took my wallet?
Yes, we DO use Present Perfect when there is a clear connection to the present moment:
I can't play basketball, because I've broken my leg. (It's still broken, so I can't play)
However, when we talk about origin or cause, we use Past Simple, even if the connection to the present moment is absolutely clear:
I can't find my wallet. Now, guys, who took it?
Other examples:
Little Steve has just knocked the glass off the table, so you say:
Oh, look what you've done!
Little Steve has just smashed something on purpose, so you say:
Why did you do that? (cause)
Who wrote that?
Bill gave me this necklace.
Whose idea was it to come here on holiday.
Did you put this here?