In both passages the choice gives a slight difference in meaning.
Let's imagine the time at which you discover the rabbit dead. You have seen a snake (it was some time before, doesn't matter when, just matters there was at some point a snake around). You make a conjecture that it may or may not have been the cause of the rabbit's demise. Moving to the past tense shifts everything, including "have seen" -> "had seen".
Now, if you wan to say that the moment you lay your eyes on the snake was "today", in other words at a particular time, it also works. It's the proximity in time between seeing the snake and the rabbit's death what you're conveying. So, past tense "I saw one today" also works.
In the second passage (about the dog), if brought to the present time, you can say "he is only interested in cats", which simply characterizes the dog's behavior in general. Or, you can say "he has been only interested in cats" (expressing thus the behavior patterns you observed frequently in the past). That's the difference.
Both are grammatically OK.