I've just seen an update on one of the Facebook i3 groups which seems to explain what is currently happening:
"the problem they are having is with any bmw connected to any intelligent tariff (where the supplier controls the times). Bmw did an update that clashes with the connection, this causes a conflict. Any off peak charge period is reverted to 00.00-00.00 around 4-5 times a day, which then flips the car to charge immediately. So you can set an off peak period at around 6pm only to find bmw has overriden it at 7.30pm and your car starts with charge immediately. If you look in the bmw app history you can confirm this is affecting you because there will be several charging profile corrections sent each day that you personally didn't send."
This matches with what I've seen in the last few days - I uninstalled my car from the Octopus app (using the Disconnect Device option) and set up charging directly in the myBMW app - the correct way with a Departure Day/Time as far into the future as possible - and it still misbehaved in the same way - it simply ignored the schedule and charged to 100%. When I checked the following day, the schedule I had set in the myBMW app was gone and it was set to "Charge immediately".
I'm on Android app version 4.9.2 (36892) which is dated 11 September - hopefully there will be an update soon which fixes this problem, though it doesn't seem as though BMW consider it to be an urgent issue...