I figured the multiplier started out at 0 because as you can see, my first 2 stakes were both 1x. I assumed behind the scenes it counted your first 2 stakes as 0 and 1, but effectively rewarded them both as 1x.
No, the Turbo Stake code never sets the stake counter to 0. This is a technical point, but I'm the programmer and thought very carefully about that counter, so it's a significant point to me at least.
The multiplier is effectively calculated like this:
multiplier = stakes * 1440 blocks
Where
stakes is the number of stakes you have and
blocks is the number of blocks over the prior 2 days.
It uses integer division, to prevent floating point inaccuracies that propagate to rounding differences.
Integer division does not use rounding, but instead is basically a floor function. For example, this 999999 1000000 is 0 by integer division. Since the 1.0.4.0 update, if the above ratio is 0, the multiplier is set to 1. If the above ratio is 1 or more, the ratio is used as the multiplier.
So, technically speaking, in case anyone but me cares, neither the stake counter nor the multiplier is ever 0 for blocks that make it into the block chain.