Interface tests, which are also known as integration tests, provide a way to test out the actual code components used in the production environment that were written by other developers. If the unit tests are all using the production components, then there is no reason to write additional interface tests. Like the unit tests, interface tests should be thought of as automated regression tests.
If there are interface tests, then the question becomes when should they be run? The interface tests should definitely be run by the developer before the system tests and/or acceptance tests are written. They should be run when components written by other developers become available for testing. Since the interface tests will most likely take more time to run or require using specialized hardware, they should only be run when significant changes are made to the code that uses them. For example, if a one-line change is made to a report file or to the user interface, then it is hard to see how that could have anything to do with other components that are completely unrelated.
So, since the interface tests can take quite some time to run, then this should be left up to the developer’s judgement. However, they should definitely be run by the developer and all relevant tests passed before the code is turned over to QA for testing.