The reason that Jonah didn't want to preach the warning to Nineveh, (remember Jonah went directly against what God told him to do and went to Tarshish instead of Nineveh) is because Jonah knew that they would repent and be spared. The minor prophet Amos had prophesied that the Assyrians (the inhabitants of Nineveh) would come against Israel. Jonah did not want to be Gods agent to warn Nineveh. No God did not change His mind. He used Jonah to fulfill the prophecy of Amos.
Jonah didn't know that they would repent and be spared...but rather IF they would repent, then they would be spared because he knew that God is merciful. The prophecy against Nineveh was conditional.
Which results in my original concern:
If God has exhaustive foreknowledge and He says that something is going to happen knowing that it isn't going to happen, then does that make God a liar?
You answered earlier with:
No God did not lie.
I am having trouble understanding how someone who claims that God has exhaustive foreknowledge can also claim that God did not lie when He said that He was going to do something if He knew He was never going to do it.
I claim that God did not lie because, like most prophecies, the message to Nineveh was conditional. We learn this prophetic "rule" in Jeremiah 18.
However, for the one who believes in exhaustive foreknowledge, the problem is that they must explain how God did not lie when He said that He was going to do something if He knew He was never going to do it.