Show number of pages next to Flickr threads
First at all I not so used to usercript. But in general I think your solution is overengineered.

I can point:


Readability of code is not good.
The "standar" for JavaScript usually is camel case.


Regarding your questions:


You don't have any complicated workflow or expecting several answers, so I wouldn't use promises.
As I said before, I think your code is really hard to read for only being three functions
You could remove the HTML in line creating the elements by JavaScript, but I don't think is so much for calling it "evil"...
You could
Don't think so


Few changes I would made:

Only declare one, 'use strict'

var url = "https://api.flickr.com/services/rest?";

var POSTS_PER_PAGE = 100;

var params = {
    url: document.URL,
    api_key: 'fe753c0dd6068fb6c74cb70458b1b9a0',
    method: 'flickr.urls.lookupGroup',
    format: 'json',
    nojsoncallback: 1
};


Whit this change I don't think that you are gaining so much whit your current function call_flickr. 

So I would split it in two functions each one whit the call. Like this:

'use strict';

var url = "https://api.flickr.com/services/rest?";

var POSTS_PER_PAGE = 100;

var params = {
    url: document.URL,
    api_key: 'fe753c0dd6068fb6c74cb70458b1b9a0',
    format: 'json',
    nojsoncallback: 1
};


function numberOfPages(data) {
    var url = '/groups/' + data.topics.path_alias + '/discuss/';
    data.topics.topic.forEach(function (topic) {
        var pages_number = Math.ceil(topic.count_replies / POSTS_PER_PAGE);
        var link = url + topic.id + '/';
        var last_link = link + 'page' + pages_number;
        var current_element = $('a[href=' + link + ']');
        if (pages_number &gt; 1) {
            current_element.after(' &lt;a style="font-size:12px; color:#aaa;" href="' +
                    last_link + '"&gt;' + pages_number + '&lt;/a&gt;');
        }
    });
}


function threadsList(data) {
    params.group_id = data.group.id;
    params.method = 'flickr.groups.discuss.topics.getList';

    $.get(url, params, function (data) {
        numberOfPages(JSON.parse(data));
    });
}


function main() {

    params.method = 'flickr.urls.lookupGroup';

    $.get(url, params, function (data) {
        threadsList(JSON.parse(data));
    });

}


main();