I’m glad that you are finding the MIPS stuff useful! Thank you!
I too work with ArcMap alot, and find that having MIPS (and many other programs) installed on Cygwin makes the transfer of data between a Linux environment and a Windows environment nearly transparent. Having worked with separate (and dual boot) systems before, this is really great!
With respect to the decimal place output in the SidescanCalculator, it simply outputs the raw data as a double. All calculations within the program are done using double format, so there should be no inadvertent truncating of the data. In my test runs with the program, I commonly get 4 to 6 decimal places depending on the inputted values (zero values at the end of a decimal are not printed).
The truncated values you are receiving makes me think that the Humminbird unit is not receiving the GPS signal properly. I have had this problem before with our units. For example, our DGPS can be a bit flakey and produces bad check sums at the end of its NMEA sentences. The Humminbird unit will check to see if each sentence has the correct checksum, and will ignore bad sentences. This causes two things to happen. Firstly, we get a lot of “skips” in our positional data (the Humminbird unit can be set up to interpolate between skips, but I’m not sure if this interpolation gets recorded in the SON file). Secondly, since our DGPS puts out both a high accuracy and a low accuracy positional sentence, and the high accuracy one is the one most likely to get gibbled, the position defaults to low accuracy (2 to 4 decimal places rather than 6). I now know to watch for this problem, and in our case, a simple reset of the DGPS clears the problem and everything is okay after that. I’m not sure if this is the problem that you are having, but it is worth looking into. Also, different pieces of equipment are more sensitive to this problem than others, depending on whether or not they pay attention to the checksum. For example, our navigational software (Nobeltec) never looks at the checksums and will always give the high accuracy positional information even when the Humminbird (or other instruments) which are checking the checksum values defaults to low accuracy (all from the same DGPS signal with a splitter).
I hope this helps. Let me know how it goes!