When you use the apt provider to purge, you get purges every time because the current value is returned as 'absent' instead of 'purged':
debug: package provider apt: Executing '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\n''
debug: /ralsh/Package[hello]: Changing ensure
debug: /ralsh/Package[hello]: 1 change(s)
debug: /ralsh/Package[hello]/ensure: setting purged (currently absent)
debug: package provider apt: Executing '/usr/bin/apt-get -y -q remove --purge hello'
notice: /ralsh/Package[hello]/ensure: created
Note the lame log, too -- that log message needs to be extended to support notifying on purge, rather than just "if it's not absent, it was installed".