Το dll όντας unmanaged δεν γίνεται reference από την εφαρμογή σου με τον ίδιο τρόπο που θα γίνονταν κάποιο .NET assembly.Αντίθετα,την πρώτη στιγμή που ο κώδικάς σου καλέσει μια από τις συναρτήσεις που έχεις εισάγει μέσω του P/Invoke (δεν μιλάω για το εργαλείο που χρησιμοποίησες φυσικά,μιλάω για τον μηχανισμό με τον οποίο μπορείς να καλέσεις unmanaged συναρτήσεις στην εφαρμογή σου),το dll θα φορτωθεί στη μνήμη,το πρόγραμμά σου εσωτερικά θα βρει τη διεύθυνση της συνάρτησης που κάλεσες και θα ξεκινήσει την εκτέλεση του κώδικα που περιέχει.
Άρα η εφαρμογή σου πρέπει να συνοδεύεται οπωσδήποτε από αυτό το .dll που σου έδωσαν -να το διανείμεις δηλαδή μαζί με αυτήν- και πρέπει στις κλήσεις του P/Invoke να είναι σωστά ορισμένο το Path προς το dll αυτό.Δυστυχώς αγνοώ την εσωτερική λειτουργία αυτού του dll για να σου πω αν κάθε client μπορεί να έχει επικοινωνία με τον φορολογικό έτσι απλά.Και να είχα απάντηση να σου δώσω βέβαια θα έπρεπε να το επαληθεύσεις ο ίδιος.
Τέλος θα πρότεινα αφού ο Pinvoker τα βρήκε σκούρα να δοκιμάσεις να το κάνεις μόνος σου,εφόσον ο αριθμός των συναρτήσεων και των τύπων δεδομένων που δηλώνονται στο header file δεν είναι υπερβολικά μεγάλος (που λογικά δεν θα είναι).