I did the exact same thing when I switched from .NET to Ruby. Took a one year hit to work with Ruby at an early stage startup and left after a year to join a Fortune 100 making more than I ever did in .NET.
You should NOT have gotten yourself into that situation in the first place. ALWAYS be looking.
Not clear about what you are saying - what situation? I had a choice - keep working on .NET or take another job at a below market salary to work on Python. So I did the latter because I loved Python. This was with the goal that I would gain enough experience in Python to jump ship and work in a Python-based environment, back at market-salary.
Bottomline, never say never. You may have to take a temporary hit so that you get to do what you want.