So far it appears the the iOS protocol for the GDL39 is exactly the same as the Bluetooth SPP/RFCOMM protocol but using the iOS ExternalAccessory.framework.
The GDL39 enumerates with 4 protocols(EASession protocolString):
com.garmin.gdl39_a , com.garmin.gdl39_b , com.garmin.gdl39_c , com.garmin.gdl39_d
Initial testing show these 4 perform the same, perhaps to allow multiple running programs to connect at the same time(untested).
Next will be to write some sample code to actually communicate and see if it responds per the previously documented protocol. http://www.chartbundle.com/tech/gdl39/
Update: After reviewing the docs for the 5th or 6th time, it appears that as a developer you can develop to the GDL39(or any MFI device) you cannot use it without the blessing of the hardware vendor. So, it's doubtful that Garmin is ever going to allow that. Oh well, back to decoding the protocol for devices using unencumbered Bluetooth(and serial as soon as my cable arrives)
Maybe it's time to dust off my idea to make an ADS-B converter box to allow someone with box A to talk to app B.. Of course, it will probably cost as much as a new receiver.