The 5 per block are cumulative, so If you had a 0 balance and generated multiple blocks it waits until a balance is available and sends 5 * generated blocks. Did you really generate 10+ blocks so fast?
Does this mean:
Generate 1 block, +50btc, 5btc * 1 == 5btc sent to puddinpop, 0+50-5 == 45btc total balance
Generate 2 blocks, +50btc, 5btc * 2 == 10btc sent to puddinpop, 45+50-10 == 85btc total balance
Generate 3 blocks, +50btc, 5btc * 3 == 15btc sent to puddinpop, 85+50-15 == 120btc total balance
Generate 4 blocks, +50btc, 5btc * 4 == 20btc sent to puddinpop, 120+50-20 == 150btc total balance
Generate 5 blocks, +50btc, 5btc * 5 == 25btc sent to puddinpop, 150+50-25 == 175btc total balance
Generate 6 blocks, +50btc, 5btc * 6 == 30btc sent to puddinpop, 175+50-30 == 195btc total balance
Generate 7 blocks, +50btc, 5btc * 7 == 35btc sent to puddinpop, 195+50-35 == 210btc total balance
Generate 8 blocks, +50btc, 5btc * 8 == 40btc sent to puddinpop, 210+50-40 == 220btc total balance
Generate 9 blocks, +50btc, 5btc * 9 == 45btc sent to puddinpop, 220+50-45 == 225btc total balance
Generate 10 blocks, +50btc, 5btc * 10 == 50btc sent to puddinpop, 225+50-50 == 225btc total balance
Generate 11 blocks, +50btc, 5btc * 11 == 55btc sent to puddinpop, 225+50-55 == 220btc total balance
Generate 12 blocks, +50btc, 5btc * 12 == 60btc sent to puddinpop, 220+50-60 == 210btc total balance
Generate 13 blocks, +50btc, 5btc * 13 == 65btc sent to puddinpop, 210+50-65 == 195btc total balance
Generate 14 blocks, +50btc, 5btc * 14 == 70btc sent to puddinpop, 195+50-70 == 175btc total balance
Generate 15 blocks, +50btc, 5btc * 15 == 75btc sent to puddinpop, 175+50-75 == 150btc total balance
Generate 16 blocks, +50btc, 5btc * 16 == 80btc sent to puddinpop, 150+50-80 == 120btc total balance
Generate 17 blocks, +50btc, 5btc * 17 == 85btc sent to puddinpop, 120+50-85 == 85btc total balance
Generate 18 blocks, +50btc, 5btc * 18 == 90btc sent to puddinpop, 85+50-90 == 45btc total balance
Generate 19 blocks, +50btc, 5btc * 19 == 95btc sent to puddinpop, 45+50-95 == 0btc total balance
Generate 20 blocks, +50btc, 5btc * 20 == 100btc sent to puddinpop, 0+50-100 == 0btc total balance
Generate 21 blocks, +50btc, 5btc * 21 == 105btc sent to puddinpop, 0+50-105 == 0btc total balance
Generate 22 blocks, +50btc, 5btc * 22 == 110btc sent to puddinpop, 0+50-110 == 0btc total balance
Generate 23 blocks, +50btc, 5btc * 23 == 115btc sent to puddinpop, 0+50-115 == 0btc total balance
Generate 24 blocks, +50btc, 5btc * 24 == 120btc sent to puddinpop, 0+50-120 == 0btc total balance
Generate 25 blocks, +50btc, 5btc * 25 == 125btc sent to puddinpop, 0+50-125 == 0btc total balance
Generate 26 blocks, +50btc, 5btc * 26 == 130btc sent to puddinpop, 0+50-130 == 0btc total balance
Generate 27 blocks, +50btc, 5btc * 27 == 135btc sent to puddinpop, 0+50-135 == 0btc total balance
Generate 28 blocks, +50btc, 5btc * 28 == 140btc sent to puddinpop, 0+50-140 == 0btc total balance
Generate 29 blocks, +50btc, 5btc * 29 == 145btc sent to puddinpop, 0+50-145 == 0btc total balance
?