Code 12 means that the battery was disconnected before 50 key-ons ago. Normal code that comes up if the battery dies or gets disconnected (they may have done it during the service you had done).
Code 15 is no speed and or distance sensor signal. Best place to describe the location (if you have the electrically controlled transmission [EATX]) is on the backside, near the exhaust bank below the heater core lines (heater core lines are on the left side of the master cylinder looking in from the front).
Code 21 you are correct on
Code 15 could also correlate to the fact that your odometer is not working as well.
Hope this helps!