On XMPP, subscription requests don't persist for the remote contact, but they do persist on your roster. So even if someone is on subscribe:remote-pending, you might need to re-send the request.
I propose a new group flag (we're going to run out soon!), Readd_To_Resend or something, which indicates that calling AddMembers() for a contact on rp will resend the request. Then we can implement that in tp-glib and Gabble.
I propose to solve this in the new Roster/ContactLists interface or sidecar (Bug #21787), rather than adding yet another group flag.
*** This bug has been marked as a duplicate of bug 21787 ***