Are you using the original CubeCell Dev-Board, or the V2 model? The original board is based on the ASR6501 processor, and only has a single ADC. The V2 board uses the ASR6502, which has three ADCs, although it appears that only two are used—one now dedicated to the task of reading battery voltage and the other available for general use.
The schematic for both boards shows a solder bridge on the [battery] ADC circuit (although I can’t see it on the V2 board) and I have seen comments to the effect that this has to be removed to use the ADC for anything other than measuring the battery voltage. Looking at the board schematic:
the ADC is pulled to Ground, through the solder bridge, so that will have an impact on any use of the ADC while the solder bridge is in place.
The battery will only be connected, through a MOSFET switch, for the purpose of measuring its voltage, when VBAT_ADC_CTL is LOW. This is managed automatically when using the getBatteryVoltage() function to retrieve the battery voltage, but if set HIGH, the battery should not be in the circuit. I don’t know how that might help in your case, but I doubt that having the ADC pulled to Ground will be helpful.
Just for the record, while the schematic suggests that VBAT_ADC_CTL is GPIO7, my experimentation (Serial.println(VBAT_ADC_CTL)) suggests that it is actually GPIO27.
EDIT: I would seem that the GPIO labels on the CubeCell more generally do not map to the underlying ‘number’ so, as already noted, GPIO7 maps to 27, GPIO6 to 26, GPIO0 to 2, GPIO1 to 49, and on it goes, in no logical order that I can divine. The upshot of all that is that, if you want to address GPIOn, you’d better user the GPIOn identifier, not just the number “n”.
And yes, I agree that none of this is very practical for anything other reading the battery voltage.
However, if you are purchasing a CubeCell Dev-Board today, I think you would be supplied with the V2 model and in that case, the ADC pin should be free for any appropriate use.