You are misinterpreting the true meaning of SEO friendly URLs. It is better to have your WordPress post or pages title as the URL rather than a question mark and a number as the search engines can index those keywords in the title. so for example consider the following two URLs
1) http://www.example.com/?p=1
2) http://www.example.com/my-seo-article
Obviously number 2 is better as the search engine can understand what the topic is just from the URL. Now consider the following URL:
http://www.example.com/my-seo-article?ap_id=xxx
The above will only be bad if you wanted search engines to understand what "ap_id=xx" means? Do you really want that? No.. there is absolutely no value in it.
Many people misunderstand the SEO friendly URL topic and think that any question mark in the URL is bad. That's not true... a question mark is a HTML protocol to add HTTP GET values and pass the variable to a different webpage (this is the only way to do this).
With that said, your affiliates can use the plugin you mentioned and make the following link:
http://www.example.com/my-seo-article?ap_id=xxx
look like the following on their sites:
http://www.example.com/go/tim
There is nothing wrong with that either.