I only just found out today that it doesnt matter if you've been smoking weed or even taking XTC, you can still give blood, one of my mates who does both most days asked at the blood bank if he could still give blood and they said yes, as long as you havent injected anything.
Laws may be differant in the US tho.