Made some progress on reading/writing the scheduling database that it uses.
Still need to work out how it calculates the channel number (8 bytes of data) and what the extra attributes are that it stores. But basic function appears to work.
Done it using ADO. Made a quick and dirty version to prove the principle and passed it over to someone in Australia to test.