In some situations the tails are relatively shorts, is there any way to be sure that the MajorAxisLength (or maximumRadius) actually is the length of the tail instead of the width?
When they're super short like that, I'm not sure that there is. You could try using a Morph module to create a distance transform image of the heads (basically an image that says how far every pixel is away from the closest head) and try to get the MaximumIntensity of the distance transform image in each comet, but that won't work if your comets are super close together so that the tail of one comet is actually pretty close to the head of another one (like below)
Especially with longer tails Cellprofiler has a tendency to think the head is in the tail area or can't find it at all. I assume it might help if I adjust the diameter for identifying the head but I am unsure which adjustments would help here.
You may need to adjust the head diameter, maxima suppression size, threshold calculation, or all of the above- it's empirical based on your particular images though. You should be able to get some more information from the help for the IdentifyPrimaryObjects module.
I noticed that the program also counts the halo around the head as the tail. Since some of the data I have shows the MajorAxislength of the tails as long (or even longer) than the whole comet is this also used in the MajorAxislength calculations? (meaning I would get a more accurate tail length by substracting head length from the total comet).
Yes, if there's a "halo" around the head being counted as the tail region it'll count towards the AxisLength calculations. Masking out the head (possibly even expanding the head by a couple of pixels using ExpandOrShrinkObjects) would give you a "purer" tail measurement, but you should check on whether or not this is standard practice in your field since I'm not sure.