Can boards, modules or Shields store old data

Can boards, modules or Shields store old data in some memory somewhere?

I have the suspicion that my sim900 is running old code I uploaded days before even though I've uploaded newer code recently.

Could it be running old code that somehow needs to be reset in order to flush it out?

No. When you upload new code, the old code is overwritten. If you suspect your arduino doing something it's not supposed to do, throw in a few Serial.print to help you find what it is doing.

Well I have/had this issue with a sim900 gsm module.

I was getting an error from at command. I changed sim chips and I still got the error:

Here: Sim 900 AT commands for writing entries - Networking, Protocols, and Devices - Arduino Forum

And here: CPMS SM ERROR from SIM900 Module Arduino - Programming Questions - Arduino Forum

What I ended up doing was:

1). After running the call-sms sketch and getting the error
2). I uploaded and created a new, empty sketch
3). Pressed the mega's reset button
4). Then uploading the call-sms sketch again (actually not sure, I may have uploaded a third sketch which queried the cpms)

The reason why I got the impression code was being left over (but doesn't really make sense) is that the cpms sm sm sm error I was getting started out as being logged 3 times. Then eventually it grew to 6 times and at some point it even got to be more than 6.