Finally, I discovered why the ImportModule function isn't called. I didn't write any code to return anything from the ExportModule function, I've just tried that and the ImportModule function is now called. So DNN doesn't bother calling the Import function as there was nothing to import, which seems reasonable but i just didn't realise that when setting breakpoints and debugging to check things out.
Best Regards,
Steve