Mark,
Regarding the Bahamas - I'm not 100% sure. All I've read is that a 1090 MHz Extended Squitter (ES) solution will be required for any flights above FL180 or any flights outside the US. Since the Bahamas is clearly outside the US, I'd assume you need the 1090-ES based solution.
Regarding the GDL-88 vs the GDL-39... not quite. I think you're mixing up terms like TIS-B and the older TIS-A with ADS-B. There are lots of new acronyms so it does get a bit confusing. Whether or not you go with Garmin products, Garmin's website has what they call the "ADS-B Academy" and it's got helpful descriptions of all the ADS-B bits and pieces along with a lot of short topical videos. I'd recommend anyone interested check it out. Just go here -> .
Here is my understanding of some of the basics of ADS-B...
Automatic Dependent Surveillance – Broadcast or "ADS-B" transmits on two frequencies...
978 MHz which is referred to as "Universal Access Transceiver" (UAT) frequency; and,
1090 MHz which is the "Extended Squitter" frequency
978-UAT is bi-directional - it is used for ADS-B "out" data for the 2020 mandate AND for ADS-B "in" for the subscription free traffic and weather (more on those in a sec...)
1090-ES is one-way. It only sends "out" data but it is the frequency required outside the US and above FL180.
So... if you install a GTX-330ES transponder you will have the 1090-ES solution and you will be able to fly above FL180 or outside the US. But... you will not be receiving anything other than the FAA's "mode-S" traffic also called Traffic Information Service (TIS) or "TIS-A" from ATC. That TIS-A is available on ANY GTX-330 but it is only available in major areas and it is being phased out in favor of TIS-B. More on all that in a moment. Bottom line... with a GTX-330ES transponder you comply with 2020 in and outside the US at all altituides BUT you have no ADS-B in.
To get in capability you have two options from Garmin (and other providers as well I'm just using Garmin as the example).
A certified panel mount solution would be the GDL-88. This mounts in your aircraft and will receive the 978-UAT and display traffic and weather on your panel mount avionics like a 430W/530W or a newer GTN750/650. Now if you are not flying outside the US or above FL180 that same GDL-88 can also provide 978-UAT "out" for 2020 compliance.
A non-certified / not permanent but portable solution (and much cheaper) is the GDL-39 (now the GDL-39 3D with built in AHRS is available as a back up PFD on your iPad - check that out). Similarly there is the Sporty's Apaero Stratus and Status 2 which display on the Foreflight App. The solutions are 978-UAT receivers. They only do "in" they do not provide "out". They only display on portable receivers like an iPad or in the case of the GDL-39 - some Garmin portable units like the aera series.
Both the GDL-88 and GDL-39 can receive TIS-B traffic. Neither can receive TIS-A traffic which is being phased out. TIS-B is "Traffic Information Service - Broadcast" and it is the traffic part of ADS-B that you can receive. TIS-B comes via two sources... you receive it from the ground via UAT uplink on the 978 MHz UAT frequency AND... if you are outside the range of any UAT ground stations you will still see any 1090-ES "out" equipped aircraft as they will transmit directly to you. I guess that's another advantage of being 1090-ES equipped in that you are broadcasting not just to the ground but also directly to other aircraft in your vicinity. Neither the GDL-88 nor the GDL-39 can receive TIS-A which is the old "Mode S TIS" that's been around for years and is being phased out by the FAA (TIS-A is Traffic Information Service "A" where the A stands for ATC based radar). If you have a Mode-S transponder that still receives TIS-A traffic which could be linked to a Garmin panel mount unit but I don't see much point in that.
Here's a screen shot from part of Garmin's webiste that verifies this:
Let's touch on what TIS-B traffic (received by both the GDL-88 AND the GDL-39) includes... as mentioned it includes the 978 UAT unlink traffic from the ground AND any 1090-ES equipped aircraft transmitting directly. The 978 UAT uplink traffic includes ALL traffic that ATC sees.. both from ADS-B equipped aircraft transmitting to ATC via either 1090-ES or 978 UAT and also from traditional radar.
Here's a screen shot from part of Garmin's website that verifies that the GDL-39 can (just like the GDL-88) receive BOTH the uplinked 978MHz UAT picture of the traffic from ATC as well as direct receipt from 1090-ES equipped aircraft:
Here's something important to know about the 978 UAT uplink part of TIS-B traffic... ATC only broadcasts that in your direction IF you are sending them ADS-B "out" data. The way the FAA implemented ADS-B includes an incentive to reward early adopters of ADS-B "out". The free ADS-B weather (which I haven't yet discussed here - it comes under "Flight Information Service - Broadcast" or "FIS-B") is available free now almost entirely across the US (there are still a few no coverage areas but it's pretty good). It is not as high resolution as XM Weather but it's quite usable and it's FREE. You can buy a GDL-39 or a similar portable receiver and get it FREE now even with no "out" solution in your aircraft. Now... that's the weather... the traffic is a different story....
For traffic... let's say today you went out and got an iPad and a GDL-39 (but no ADS-B out solution in your aircraft). While you would get all the weather now, you would only get a limited picture of the traffic. The ONLY aircraft you would see displayed via ADS-B would be those aircraft that are already equipped with 1090-ES transponders (mostly you would see airliners). This is because ATC only transmits the 978 UAT uplink data in the direction of aircraft that are also broadcasting their ADS-B "out" position. So... you will only see 1090-ES equipped aircraft UNTIL.... you happen to fly within say 5 miles of another aircraft that happens to be equipped with ADS-B out (either 1090-ES or 978 UAT). At that point you will all the sudden start receiving the 978-UAT uplink that ATC is broadcasting towards that other ADS-B aircraft simply because you're in the vicinity. Once you have your own "out" solution then you will start getting everything all the time because ATC will be sending it to you as an "out" equipped aircraft. Now... when you fly out of an ATC coverage area you will once again only see aircraft that are "self announcing" their position via a 1090-ES transponder.
In my case, I have a aircraft with a panel mounted Air Gizmos dock an an aera 510 and I also have an iPad and a Garmin GNS480 (aka CX-80). The GNS480 has a traffic page and I could put mode S there but I'm not sure about TIS-B traffic. I love my 480 but frankly I have little desire to squeeze a traffic picture onto that small screen. I want traffic and weather displayed on my aera 510 and my iPad. So... a GDL-88 will do me no good for that. It will make me out complaint only in the US below 180 but it will NOT give me any ability to display on the aera or iPad as far as I know. That's why I favor the cheaper GDL-39. But... I still need to comply with "out" and for that I'll just swap my GTX-327 for a GTX-330ES and I'll be ADS-B out compliant both in and outside the US at all altitudes. Your situation may be different.
Another important note. Whatever ADS-B out solution you select must be tied to a WAAS GPS source. If you have a panel mount GPS that is WAAS such as the 430W/530W or GTN series then the 1090-ES or 978-UAT out solution can use that. Otherwise you may have to get a solution that includes a built in WAAS GPS for the purpose.
Hope this helps...
- Charles