I've been doing a similar analysis - but not at your scale! As you did, I used Python to create a cost accumulation raster and iterated through my list of possible source points. A difference from what you did, was that I used "extract points from raster" to extract the "cost" of getting to each of my destination points. That should work for you if you set the cost of traversing each cell for ocean to be 1 and some really, really high number (or maybe nodata) for land. It saves having to generate the backlink raster.
One ugly, but possible, solution for your "world is round" problem would be to "cut the world in half" - using two meridians that are 180 apart. So you would run the analysis using 0-deg as a cutpoint (Raster goes from 0 to 360), then run it again using 180 degrees as a cutpoint (Raster goes from -180 to +180). You would get a cost-distance score from each of those rasters and the minimum of the two scores for a given destination point is the minimum cost. It is possible (but very unlikely in my thinking, given your cost layer) that you might need some additional cutlines to guarantee that each point and it's nearest source are not on either side of an edge.... (hard to imagine that the shortest distance would be 1/2 way around the world) but I think it could happen if the cost layer were more complex....
Hope that helps!