This is very nice of you. One option that you have that is safe and secure is Western Union. Not only can you send money securely through them for a fee (Bahamian Dollar equals American Dollar by the way) they also offer gift cards and prepaid cards as well. Here is the website for more information on this - https://www.wuprepaid.com/wuprepaid/public/login.do. Now if you decide to get a different kind of prepaid card like one offered through your bank or at your local grocery store you are going to want to make sure that it can be used overseas. From the FAQ here you want to make sure that it doesn't say Valid only in the US on the front - http://usa.visa.com/personal/cards/prepaid/gift_card_faq.html#anchor_26. Here is the website from the Visa prepaid card page if you want to go direct - http://usa.visa.com/personal/cards/prepaid/visa_gift_card.html. If you do end up buying a card and sending it you are going to want to send it in a secure fashion. You can talk with the postal worker when you go in but I would think making someone sign for it or putting insurance on it would help make sure that it arrives safe and sound in your friend's hand.
Please let me know if you need any more information!