If FileFunc was included, but the 2 macros weren't, then you might still have problem.
Because of how FileFunc.nsh is structured, included it more than once shouldn't cause a problem.
Here's a method I'd used in a few of my scripts:
!define AddFileFunc FuncName
!macro AddFileFunc FuncName
Then, to insert the functions, just add this: