_fini is now an obsolete destructor, but its use is not confined to just C++. It is also used for along with _init to initialise and finalise dynamically loaded libraries even those written in C. And had many other uses, but mainly confined to initialisation and destruction of libraries or complex global variables.
I know that GLib which is the base for GTK is now using more up to date methods for initialisation and destruction, but there could be a library that gets linked in that still uses the older methods.
Further, there are apparent calls to functions in the code that are in fact never used.
Not sure about that one. If a function is called then it is used! Probably what you meant was there are functions that appear to be called, but you have not called them yourself. Again this is normal for any GUI application. A GUI tool kit is fairly complex and a single API call by you will call many other functions them self.