The only time a rate lock can be pulled (if not expired) is if your loan didn't meet the Lender's Investor Guidelines. The would be the fault of your Loan Officer. When we lock a loan, there are risk levels or overlays the LO has to be mindful of. In my case, my pricing engine does all the work for me, but again it relies on the data I have input. Sounds like your LO was a rookie. I would strongly suggest you finds out EXACTLY what happened. This is why I always caution buyer to vet their Loan Officers wisely. It can make all the difference in the world. Like in your case. Let me know if you need assistance or a 2nd opinion.
I wish you the best of luck!