Do we gain points for each MB or for each gifting? and how many points?
Each and every time you gift data from your plan, you will earn 3 My rewards points in your account.
So if you want to maximum your points, you can gift 500 MB (which is the minimum) as many times as your plan permits.
And as mentioned, you will also receive points for earning those Hero badges.
As far as I know you only get points once you get awarded a badge (50 per badges if I remember correctly)
I think so too. There are 4 Hero badges for gifting data to 1, 5, 10, or 25 friends.
I don't think you get any actually.. unfortunately!