CheckStakeKernelHash is changed, will do
bnCoinDayWeight = CBigNum(nValueIn) * GetWeight((int64_t)txPrev.nTime, (int64_t)nTimeTx) / 100000000 / (24 * 60 * 60);
instead of
bnCoinDayWeight = CBigNum(nValueIn) * GetWeight((int64_t)txPrev.nTime, (int64_t)nTimeTx) / 100000 / (24 * 60 * 60);
Yes, this was the main problem. With less than 1 COIN / 1 day this formula returns less than 1 and because of integer math, it is rounded to 0.
and the weight is balanced, in GetStakeWeight it will do
bnCoinDayWeight = CBigNum(pcoin.first->vout[pcoin.second].nValue) * nTimeWeight / 100000 / (24 * 60 * 60);
instead of
bnCoinDayWeight = CBigNum(pcoin.first->vout[pcoin.second].nValue) * nTimeWeight / 100000000 / (24 * 60 * 60);
Same here, in the debug / console display
oh you left over some debug print messages

Yes ;-)
Btw, this could be changed to be earlier, if all you want stake faster.
But it would increase the risk everyone has not updated.
We should make sure at least exchanges and explorer will be updated before fork is in effect.