Also, note that there is an error in these lines:
distancetoroid = distancetoroid - GetAsteroid(j).Radius
if distancetoroid < GetAsteroid(j).SendDistance then
When you do this type of distance-between-asteroids check, to see if one asteroid can send to another asteroid, you start with 2 asteroids; i and j.
You pick one of the asteroids to be The Sender Asteroid and the other asteroid is The Destination Asteroid.
You then subtract the radius of The Destination Asteroid from the distance between them (which you have done on the first line).
Then you check if that result is less than the send distance of The Sender Asteroid (in which case the sender is in range of the destination).
In the code above, you're subtracting the destination asteroid and checking against the send distance of the destination asteroid! You can't have them the same on both lines otherwise it won't work how you want, all the measurements will be off.
To fix, have it like this:
distancetoroid = distancetoroid - GetAsteroid(i).Radius
if distancetoroid < GetAsteroid(j).SendDistance then
...or this will work just as well:
distancetoroid = distancetoroid - GetAsteroid(j).Radius
if distancetoroid < GetAsteroid(i).SendDistance then