The problem is that there are three classes of GPRS data terminal:
Class A will keep voice and data connections at the same time
Class B will keep one or the other, terminating the current one
Class C will keep one or the other, but you have to switch manually.
There are no Class A devices currently in the market, and almost all mobile phones are Class B. So, not desired behavior as you say, but not much can be done when using these devices.
I'm afraid there's no option to disable data calls if a voice call is in progress...
