It can.
I find that the more complicated the things I try to do with ad_form, though, the more I feel like I'm cludging around to make it work.
In this case, the solution I've used is to use a sequence not related to your table, like acs_objects_seq (or something like that). That should give you double-click protection (I believe), but free you from the constraints of using a single column key.