This is very confusing, in fact, and rna tooltip was wrong, BKE_object_make_local_ex actually ensures we never have several proxies of same object, since it always clears proxy when it has to copy object to make it local... What that RNA function is probably missing, though, is same logic as in BKE_library_make_local to actually remap proxy from old linked object to new local one.