"No worries" is very common in America, although I would say that it makes more sense to say it after someone apologizes than after someone thanks you. It makes sense after "thank you" if you're thanking someone for doing something difficult or unpleasant or something, and you feel bad that they had to do something they didn't want to do or shouldn't have had to do. Something like:
"Thanks for handling that for me. I know it was a lot of work."
"No worries. It really wasn't so bad."
It wouldn't make sense to say "no worries" if someone thanked you for something small or non-troubling, like "Thanks for visiting our store!" or "Thanks for the compliment!"
Americans do in fact sometimes say "no problem-o." I have no idea why. It's very colloquial, and a little bit humorous, but still rather common, especially in some regions. "Any time" is also common, but again, it only makes sense in some circumstances, because it implies that you would happily do the same thing for the person again. For example:
"Thanks for giving me a ride!"
"Any time!" (meaning "I'd be happy to give you a ride again in the future, if you need one.")
I agree that "you bet" is odd. I think it's simply evolved from the meaning of "you bet" that means "it would be safe for you to place a bet on it," or, in other words, "it's definitely true." "Is he good at his job?" "You bet he is!" (You could safely wager money on it.) At this point, "you bet" is simply used as a way to strongly affirm something. I'm guessing that after "thank you," the idea is to affirm that one was happy/willing to do whatever one is being thanked for.
(I'm not a very colloquial sort of person, so I pretty much always just say "no problem" or "sure" -- which I guess is similar to "you bet" in that it just confirms "I was willing to do it.")