I'm not sure on the top 3 and all, but this should work for the !invest with 0 points thing.

Code:
on *:text:!invest*:#:{
var %head = $ini(Points.ini,$nick)    
if ((%floodpointcheck) || ($($+(%,floodpointcheck.,$2),2))) { return }
set -u10 %floodpointcheck On
set -u30 %floodpointcheck. $+ $nick On 
LineCount
if (!%head) { halt }
msg # $nick has invested $readini(Points.ini,$+($nick),Points) total points.
}