Is it possible that you share a couple of pages with me if the content isn't sensitive so I can investigate the matter further?
Thanks for your help, but I have now solved the issue. The issue (which I didn't realise was an issue) is having certain characters different colours within a sentence/word. This was key to the design of the text as it is for teaching children how to correctly use punctuation.
For anyone who has this issue, I'll explain the problem and how to fix it (sort of):
This is a problem when exporting to EPUB as an EPUB (for those who aren't aware) is basically made up of HTML pages that is generated from InDesign files. This was a problem for me, because InDesign has no idea how to correctly join words when there is a separation inside them. In this case, the separation was <span> tags with styles attached to them to make them a different colour. What a span does is essentially break the flow of the characters in the sentence, and as Arabic is a complex script that joins letters based on what is around them - it rendered each character as a single entity rather than joined to it's neighbour. So the text actually reads the same, it just doesn't look the same. In the English language this isn't a problem in HTML as our characters never change shape based on what characters are next to them, Arabic does.. and that's the fundamental complication with doing this kind of stuff.
This actually renders completely fine in Firefox, but in Chrome or any WebKit based browser, there has been a bug for this since 2005 which has never been fixed. The fix is to use the zero-width-joiner character (‍) before the <span> and before the character inside the <span>. Then, you need to find the appropriate font to render the characters correctly. For me, Google's Amiri Arabic font worked for this.
This is very much a manual process at the moment though, as Adobe haven't managed to find a way to get this rendering correctly (which I can fully understand, judging by how long it took me to figure it out)!
So, to sum up.. if you want to render all Arabic text in one flat colour, then you should be fine. Otherwise, you'll need to figure out a way to do this stuff to every page that contains Arabic text with more than one colour. I'm not saying this is guaranteed to work on every EPUB reader, but it seems to work well in browsers and on readium and iBooks.
Thanks!