Guys, this is what I found from CBP website through a little more digging:
*
ALL persons*, including U.S. citizens, traveling by air between the United States and Canada, Mexico, Central and South America, the Caribbean, and Bermuda are required to present a valid passport, Air NEXUS card, or U.S. Coast Guard Merchant Mariner Document.
*
Oral declarations are no longer accepted from U.S., Canadian or Bermudan travelers seeking to enter the U.S. by sea and/or land. Travelers will need to present a valid government issued ID and a birth certificate or naturalization certificate.
*
On June 1, 2009 all U.S. and Canadian citizens who are 16 and older traveling between the U.S. and Canada, Mexico, Central and South America, the Caribbean, and Bermuda by land or sea (including ferries), will be required to present a valid passport or other alternative documents as determined by the Department of Homeland Security. U.S. and Canadian citizens who are 15 years old or younger will still be allowed to travel with just a copy of their birth certificate, as will teens between the age of 16-18 if they are part of an adult supervised school, religious, cultural or athletic group.
*
Lawful Permanent Residents (Green card holder's) do
NOT need a passport to enter the United States, however you may need a passport to enter another country. Please contact the embassy of the foreign country you will be traveling to for their requirements.
http://help.cbp.gov/cgi-bin/customs...CBwZXJtYW5lbnQgcmVzaWRlbnRz&p_li=&p_topview=1
So, if I understand correctly, I will need US passport as USC to enter US, while my friend (LPR) will not need a passport? This is interesting.