The landmask depends on the topography inside the ocean model, and not something within CMS. The best way to plot the coastline is to use the nest file fill values as they reflect exactly where the model thinks there is land (see the post proc file draw_traj_netcdf.m supplied with CMS for the code to do this - you just nest any one nest file as a template for plotting where the land is).
Gebco may not match up with the coastline in the model you are using (it definitely doesn't line up well with Hycom) so you may find particles on land according to Gebco, but within your model they are not yet touching land. See my attached image I have used to show this in the past - the grey shows GEBCO (this is the west coast of ireland) the red is my best interpretation of what HYCOM sees as water mapping out the much coarser coastline that is inside the model.
I have definitely found this a problem in the past, especially when planning release points near land and having to reposition them several times to make sure that they are in the water in the model. I don't have a perfect solution for this at present - the hycom forum talks about ways of interpolating the hycom bathymetry using multiple files they supply, but there is no .tif to work with. I have now got a .tif that approximates the HYCOM bathymetry (as seen in the attached image, and spanning the globe) and can try to attach that too, but it is still not perfect (projection issues) and I honestly cannot remember where I got it from!
I also think this is a major issue when modelling and assuming you will get a realistic result out the other end. The coarse bathymatry is a huge simplification and modelled results should be interpreted with that in mind.
All of this is to say that CMS is probably working and your points probably are avoiding the land, but you just have the wrong map of where the land is inside the ocean model.
All the best,
Bex