Multi-Tier Client-server Problem with simultaneous addition of records

We are building an application that has a server application running on
the server computer and a client application running on several others.
We are using Delphi 3.0 C/S and we are connecting the two apps with the
remoteserver ,provider,clientdataset components.
We have a table on server with an autonumber field.

When the client makes an applyupdates call to the server the server
automatically increases the autonumber field.
The problem is when two clients are adding a new record simultaneously.
The first client takes the right number but the second one doesn't.
The second client takes the same number as the first although the server
puts the next number in the database.
We think that the server doesn't report back to the clients the numbers
that puts on the autoincrement fields and the clients just take the
number from the clientdataset which ofcourse is the same for the two
How can we make the server send back to the clients the right numbers?