OK - so I changed the obvious, to make it :
SELECT * FROM destinations INNER JOIN (packages INNER JOIN packagedestinations ON packages.packageID = packagedestinations.packageID) ON destinations.destinationID = packagedestinations.destinationID WHERE packages.packageID = packagedestinations.packageID ORDER BY destination ASC
and that returned three of the four records.
If I specify the last packageID as '128' it returns the two correct records.
But if I specify it as 137 it only returns one of the two correct records.