It is not foreknowledge that prevents free will, it is God's unalterable perfect plan.
But God does alter his plans if the circumstances permit it. In the case of Niniveh he changed his mind about destroying it as he had planned when the Ninevites expressed sincere repentance. This change of plan based on mercy angered his prophet Jonah who
had initially tried to evade his mission by setting sail for Spain. So free will wasn't prevented there despite God's plans. The following scripture demonstrates that God will change his plan if the situation changes due to human free will:
Jer. 18:7-10 --
If at any time I announce that a nation or kingdom is to be uprooted, torn down and destroyed, and
if that nation I warned repents of its evil, then I will relent and not inflict on it the disaster
I had planned. And
if at another time I announce that a nation or kingdom is to be built up and planted, and if it does evil in my sight and does not obey me, then
I will reconsider the good I had intended to do for it.
Wouldn't this seem to indicate that human free-will can cause events to have multible possibilities? All of which can be foreseen
and consequences calculated for each?
http://www.tektonics.org/gk/godchangemind.html
BTW
Those who are dead-set on finding fault will now say God isn't infallibe. Which shows that no matter how God is described it's not really his personality or his attributes that are the real issue-it's the God concept or ID concept itself that causes the godless to begin their snarling and frothing at the mouth.