I get weird numbers. Can you provide an Open Document Spreadsheet with an example?

I did the calculation with some real numbers and included the output of an excel spreadsheet.

Yep, I get the same numbers.

The only thing that still concerns me though is that the lender needs to get (1+i)*(1+d) return on his investment, yet this calculates each k outstanding balance to be paid off as just Bal*(1+i)...

In your example, the loan interest rate is 5% so the lender only needs to get 5% interest on the balance. It may end up "feeling" closer to 8% interest with respect to purchasing power (i.e. 5% interest plus 3% deflation), but the loan interest rate does not include deflation just like a typical 5% loan from a bank in dollars with 3% inflation is still just a loan for 5% even though the inflation makes it feel more like 2% with respect to purchasing power.