It could be the crankshaft position sensor, but it's odd that it happened after the key replacement. If you have a live data scan too, connect it and see if there is an RPM signal from the sensor while cranking. Also, take a look through this link and let me know if it mirrors what you are experiencing:
To answer your question about the code / crank sensor, there are situations that a bad sensor will not set a code. It's explained in the aforementioned link.
Also, here is a link you may find of interest:
Let me know what you find or if you have other questions.
Take care and God Bless,
Friday, February 5th, 2021 AT 8:07 PM