i don't know how you managed to do this, but my guess is your so-called ".broadcast" receiver didn't make it to the manifest:
<receiver android:name="taxitronic" android:exported="true">
<intent-filter>
<action android:name="Taxitronic.LastTripData.Response"/>
<action android:name="Taxitronic.InTripData.Response"/>
<action android:name="Taxitronic.InStopData.Response"/>
</intent-filter>
</receiver>
<receiver android:name="broadcast" android:exported="true">
<intent-filter>
<action android:name="Taxitronic.LastTripData.Response"/>
<action android:name="Taxitronic.InTripData.Response"/>
<action android:name="Taxitronic.InStopData.Response"/>
</intent-filter>
</receiver>
<receiver android:name=".taxitronic" android:exported="true">
<intent-filter>
<action android:name="Taxitronic.LastTripData.Response" exported="true"/>
</intent-filter>
<intent-filter>
<action android:name="Taxitronic.InTripData.Response" exported="true"/>
</intent-filter>
<intent-filter>
<action android:name="Taxitronic.InStopData.Response" exported="true"/>
</intent-filter>
</receiver>
that library you're using is very old. it looks like it isn't going to work with sdk34. it's not a b4a bug.
the library's registerReceiver() method does not include the additional parameter for setting the export flag (required for sdk34).
but you should still be able to set the receiver's attribute with the manifest editor with SetReceiverAttribute(myReceiver, "android:exported", true) or false.
more troubling is why the .broadcast receiver doesn't appear in the manifest. i think that's why you see the exception.
by the way, did you actually receive approval from google for your specialuse foreground service? how difficult was that?