--Took rover to machine shop and got IMU remounted adjacent to the camera, ~4.5cm above the deck, in the position I tested yesterday that yielded minimal magnetic interference with heading readings.  Oriented the IMU so that the positive X axis is pointing forward, the positive Y axis to the right, and the positive Z axis down (so there should be no need to calculate an offset for heading).
--Re-ran calibration routine with the IMU mounted and the rover on the floor (except for extended mag calibration procedure) and got the following:
  accel:
    x: max = 249, min = -283
    y: max = 275, min = -254
    z: max = 232, min = -292
  gyro: (average values)
    x = 30.37
    y = 4.43
    z = 17.26
  mag: (OLD)
    x: max = 530, min = -453
    y: max = 518, min = -410
    z: max = 152, min = -768
--Calibration data from new magnetometer calibration procedure (saved in  ~/razor-9dof-ahrs-Release-v1.4.2/Processing/Magnetometer_calibration/output.txt):
    #define CALIBRATION__MAGN_USE_EXTENDED true
    const float magn_ellipsoid_center[3] = {45.1138, 41.8867, -296.532};
    const float magn_ellipsoid_transform[3][3] = {{0.900928, 0.0229865, 0.0139737}, {0.0229865, 0.980335, -0.0228203}, {0.0139737, -0.0228203, 0.971285}};
Accelerometer values were pretty similar to previous, but gyro and mag were very different.
--Tested Yaw (heading) with new calibration and rover on the ground and got good results.  Turning the rover ~90 degrees yielded a ~90 degree change in yaw.  Measured against lensatic compass and found that yaw degrees were about 17 or 18 degrees less than true heading(yaw = 30, compass = 47).  Need to test more thoroughly to ensure that this offset is consistent before writing it into the code.
--Shortened USB cable to IMU and plugged into the furthest forward port on the hub.
--Copied *.ino files from ~/razor-9dof-ahrs-Release-v1.4.2/Arduino/Razor_AHRS to ~/source/razor-imu/arduino/Razor_AHRS in order to consolidate this code with my other working code.
--Have first version of my output format written into Razor_AHRS.ino (under ~/source).  Still need to tweak it and get offset correct.