EDIT: Crap - I've done some more research on this & found this:
"
Also, bear in mind that the exact timing of the service being destroyed is up to Android and may not be immediate. So, for example, if you are relying upon onDestroy() to cause your service to stop some work that is being done, consider using another trigger for that"
So my post below might be somewhat redundant...
I'm having the same problem. I have a service (NetConnect) that sets up a peer network between 2 devices running my Yahtzee game (yes I know I can use WiFi Direct for this, but I don't). When a user attempts to start a network game, I call StopService(NetConnect) to ensure that any previous connection is killed before I try to establish a new one, however I've just realized that Service_Destroy is not executing. Here's the code in my Main module:
Sub btnStart_Click
StopService(NetConnect)
pnlShield.Visible = False
iNumPlayers = spnNumPlayers.SelectedIndex + 2
If chkNetGame.Checked Then StartService(NetConnect) Else New_Game
End Sub
& here is the Service_Destroy code:
Sub Service_Destroy
UDPSocket1.Close
Tablet.RunMethod("release")
tcpClient.Close
tcpServer.Close
End Sub
I put a breakpoint on the "StopService(NetConnect)" line in btnStart_Click & another in the first line of Service_Destroy, & I can see that StopService(Netconnect) is being executed, however Service_Destroy never appears to execute.