your question has an easy answer.
it's logically impossible to foreknow what will do a free being in the future.
It may be logically impossible for humans to know, but not God.
On the other hand, it's not so hard. When you really know someone well, it is not hard to foreknow what choices they will make in a given scenario. Perfectly possible, in part, among humans who know each other.
Thing is, God know us better than we know ourselves. So it is not impossible, as humans can, albeit to a lesser degree.
First is to say that the omnipotence of god not imply to do logically impossible things.
No man no God can do a squared circle.
Craig does not believe in a world of four dimensions, where the time is a reality as space and the matter.
In this description of the world, the past, present and future exist together, and God can see from outside the block of four dimensions any moment like a present.
Craig believes that God perceives time as we do:
-past no longer exists
-the present is now
-the future does not yet exist
Craig says that God knows the future because he knows the value of true or false of any proposition.
example: Dorel will eat pizza pie tomorrow?
God foreknows whether it is true or false that dorel eats pizza tomorrow.
The problem is that Dorel who is a free being, have the freedom at any time that passes since we asked God, until the time of eating or not pizza arrives, to change his mind.
For example God can foreknow the position of an object.
why? because he can calculate the position of the object in the future, and this object will be there because obey the law of his physical nature and in no way can change this situation (the object).
Therefore the free will and the foreknowledge of god are logically contradictory
Answering most directly to your example of, if we know very well a person we can foreknow what will do in a certain situation.
is different to say
-I know Dorel, I know that he will eat pizza tomorrow because he eat pizza every sunday.
You have to accept that exist the possibility, even if is a small possibility, that Dorel choose to eat macaroni this sunday.
So you don't foreknow what will do dorel
You foreknow that is very probable that Dorel will eat pizza.
this is not knowledge
this is a conditional knowledge.