You already solved the problem, but just a side info of why this (probably) happened: SpriteBatch.Begin() sets the deptstencil state to something different, so you need to set it back to .Default after that.
The transformed mesh is only temporarily created during the vertex shader, not in your game logic code where you do the picking. You will have to create the transformed mesh in your code to be able to pick it, but depending on the complexity of your animation and the amount of animated objects in your scene, this can use up a lot of processing power. If you got multiple objects (e.g. units on a battlefield) I would first do a picking via a normal hitbox, and then check for intersection with the detailed animated mesh.