From a conversational perspective, they are all correct. However, the first example in each case is less formal and, in my opinion, more commonly used. So, in other words, most people would say "I don't know where he went." But "I don't know where he has gone" is also correct. It just sounds a bit more formal. Similarly, "Look what I have found" is fine. But it is a bit more formal than "Look what I found." "I hope he hasn't borrowed my t-shirt" is also fine. But you will hear "I hope he didn't borrow my t-shirt" more often. And finally, "I haven't bought anything today" is also correct. But you will hear "I didn't buy anything today" more often in conversation. It sounds less formal.