They converted the BTC to USD to pay bills and for R&D. Do you think their employees work for free?
I believe(d) their employees and R&D were paid by funds from their investors.
HashFast's prices were far too high to have justified participation as a investomer if that had been what they had said they were doing. At announcement the devices were selling at prices below to what you would have expected their lifetime income would have been for an time delivery assuming 2%/day hashrate growth (actual: 2.3%/day since mid august), and they were only redeemed up to break even by the MPP. For the customer deal had fairly little upside under likely assumptions, and was only worth taking because it also had only moderate little downside potential if they adhered to their contract.
(Worst case assuming they didn't break their agreement would have been delivering on Dec 31st with the high growth, as we had.)
I really feel for HF customers but I too don't understand why so many people actually think a BTC refund is even possible. Their claim that they would give full BTC refunds actually was one of the reasons I decided not to order from HF because it sounded scammy since there's simply no way they could guarantee it with BTC's volatility. Yes they offered it but the sad fact is that it simply is not possible so begging the issue is just a waste of time. Focus on getting USD refunds or higher hashrate IMO...
Sure they could, they just needed a party to guarantee a floor value of their Bitcoin held, and they only needed enough of that to guarantee their parts costs and the minimum necessary margin (e.g. they didn't need to insure the whole amount). This is a service many large Bitcoin traders/holders would have been willing to provide for a fee. Also keep in mind that a refund still leaves them with the hardware and there is a tremendous demand for mining equipment. HashFast has been selling units for later delivery all through December.
Because the refunds were not payable until more than two months after their advertised target date I'd personally assumed the reason for the mismatch between the target date and the guarantee date was to reduce the risk of revenue loss and a need to refill the order pipeline after a ordinarily late shipment triggered refunds.