After Naresh's investigation, it appears this issue stems from a server-side shortcoming: read() on many2one fields in osv_memory objects did not return the name, but only the ID of the target record.
Clients expect read() to return a tuple with (id, name) for many2one records, otherwise they have to manually call name_get() in an "out-of-band" fashion, which cannot be easily batched.
This will be fixed in server soon, and will improve the situation for all wizards and all clients at once.
After Naresh's investigation, it appears this issue stems from a server-side shortcoming: read() on many2one fields in osv_memory objects did not return the name, but only the ID of the target record.
Clients expect read() to return a tuple with (id, name) for many2one records, otherwise they have to manually call name_get() in an "out-of-band" fashion, which cannot be easily batched.
This will be fixed in server soon, and will improve the situation for all wizards and all clients at once.