Both and advantage and a disadvantage of the 'autonumber' keys provided by MS Access and others is that they are assigned at the host database, not at the dataset. That means, as you have seen, that when you do a dataadapter.update you new records are added with the next autonumber, but you may not really know what that was. Even if you select the highest autonumber yet assigned, it may be one some other user has since assigned -- then there's always the case where you have configured your 'autonumber' key to be randomly, not sequentially assigned, so there's even less assurance that it's the 'highest' key.
What's a multi-user programmer to do? You might assign some alternate unique key (based on userid and timestamp, for instance) such that, once the new record is added, you can retrieve it by the timestamp you just put on it yourself -- then you will learn what the actual autonumber key is, if you still need it.
The ideal, to my way of thinking, would be for the database engine to return a table of new record key(s) for the record(s) added, when you do an insert or an update which adds new records. But then, they never seem to ask my opinion ;^))