Many smartphones now (2011) have a 3-axis magnetometer included. A typical magnetometer is the Asahi Kasei AK8973. This provides output of the magnetic field in 3 orthogonal directions. The data card indicates a sensitivity of 1000nT per least significant bit (8 bit output). Note 1000nT is the same as 1μT (microTesla).
The earth's field is typically 49000nT so the sensitivity is about 2% of the earth's field. This is just about sufficient to detect a shallow wreck with a large iron content which would give a variation of the earth's field of over 1000nT.
You will need an app which evaluates the total magnetic field strength (for Android phones, I use Ulysse Gizmos). This evaluates the square root of the sum of squares of the three components, which is thus insensitive to the orientation of the phone.
Then place the phone in a position on your boat away from iron and magnets (engine, compass, loudspeaker, electric motors, ..) and look for a change as you traverse the wreck, keeping a straight course to minimise any magnetic change coming from your own boat.
You can test this on dry land: use a magnetic source (big chunk of iron) and move your mobile phone over it reading the total magnetic field.
For the detailed discussion of the magnetic anomaly caused by a shipwreck, see Magnetic imaging of shipwrecks, or arXiv:1105.3136 [physics.geo-ph],.
In principle, the accelerometer also included in a smartphone allows the vertical and horizontal components of the magnetic field to be evaluated separately even in a moving boat. This might give additional useful input.
If anyone knows how to improve the precision (to less than 1000nT)
of the AK8973, I should like to hear (firstname.lastname@example.org). I note that the
product range has a resolution of 150nT. So an improvement of up
to a factor of 6 if noise level allows.
[Freescale MAG3110 offers 100nT read-out sensitivity with RMS noise of 250nT; while PMI RM3100 using non-linear magnetic induction claims 13nT sensitivity with 15nT noise].
I am currently testing a RM3100 (hosted by an Arduino Uno) for my own marine use. So far, results are promising. I also have an accelerometer/gyro development board (MPU6050) in test as well.