To your knowledge, has the cluster ever been pulled out?
I've seen some crazy behavior fixed by simply pulling and re-seating the 3 connectors on the back of the cluster. Pelican has a good write-up for removing the cluster and it's really simple. I'd start there, then replace the ignition switch.