I have hit an issue that bears striking similarity to this one.
I have added a question here on Stack Overflow which explains the problem.