Can you tell me which sentence is correct; “Who found my keys?” or “Who did find my keys?” and if they are both correct, can you please explain the difference?
I did ask around the office where I work and the answer I got was that both sentences are correct, the difference is that "Who found my keys?" is more used for when you have no idea who it was and "Who did find my keys?" is more for when you may have an idea of who it was but you are not really sure. Is this a correct explanation?
I would agree with your analysis of the first version.
The second one sounds more like a request for clarification, as in
"Thanks for finding my keys."
"I didn't find them."
"Who did find my keys?"