I assume you went with the Honeywell 3-axis magnetometer? I'm fairly confident the N900's tilt sensors can be used to do the tilt compensation, so the much more expensive tilt compensated one shouldn't be necessary.
Ideally, we'd be able to tap into an existing i2c bus and be done with it---we just need the IC and some bypass caps. Going through USB (assuming OTG support becomes available) will probably require a microcontroller and will be bulkier and uglier.