Can anyone advise what might be happening to cause reading one pin to affect another (there is nothing connected to A7 that might be altering A0’s voltage).
There were some problems with analogRead() that I think have largely been fixed in the current master for local build but are only partially fixed in the “Sparkulator” web IDE.
This is unfortunately a known problem and the fix is already in place in the lastest "master" branch, so if you can build locally you can get the fix right now. I am sure that the fix will make it way to the "compile-server2" branch used by the web IDE when it is fully tested by Spark.
Just for reference, here is the thread where this got explored and fixed in "Odd analog readings (part 2)":