C.,
I have a five year old who has had trouble learning how to be nice to Mommy and Daddy. I can relate to your situation. Here's my take on it.
Your son is testing you by continuing to harm the pets. He may be too young to connect the time outs to the behavior after the time out is done, but you SHOULD continue to give this consequence. After the time out is done, have a brief (30 second) conversation with him about why he was in time out. The next time it happens, separate the cat and your son. One of them has to go into a room that is blocked from the other. Time out again, 30 sec talk, no playing with cat for the next hour. If he asks to be with the cat, then take out a stuffed animal and practice being nice to it. If he doesn't ask about the cat, then don't bring it up. Praise him for any thing that he does that is gentle with the cat. Spend a longer time praising than you do scolding so that he learns that being good means getting your attention, and not the other way around.
When you reunite your son and the cat after the separation, spend time showing and practicing how to be nice with the cat. Remain with both of them while they are in the same room. If he moves as if to hurt the cat, stop him from doing it, if you can, and send him back to his time out. If, on the other hand, he stops himself, then praise him for making the right choice.
Two year olds are tough to discipline. It takes many trials before the message gets through. Be consistent at all costs. If you falter even once, you'll set the whole process back. Good luck, and know that you are not alone with this type of behavior.