Thank you for the advice, its much appreciated.
I'm sorry I cant give you an incredibly educated answer on the pin itself. All I know is that the Arduino is outputting 5V into the photoresistor and a 10kohm resistor is connecting it to A0 & GND. The unaltered code from here: https://www.arduino.cc/en/Tutorial/Smoothing worked perfectly as intended. It is my attempt to make it a generic function to service multiple sensors which has messed it all up so bad.
I suspect I'm not returning the values properly in C++ and so that may be where it is messing up. I know that the values are not updating properly like they should be based off of my serial spree (you can see in my edited post above) and also further testing showed that the 'workingTotal' variable consistently = 0 which meant the algorithm was constantly dividing by zero to find the average. This is not ideal and may explain the funkiness of the outputs.