I pinged our Oracle rep to contact support on this and get an update. They stated that a bug fix for this is not scheduled until 12.2!
So - if you are running into this same issue let me know and I will clean up our internal replacement package for public consumption.
BTW - I have also noticed that no matter what hints you put on the select for a MV, it does not want to seem to do direct path writes for a complete/force refresh MV.
So, you are much better off just using a table and using a package to truncate it, and then do an (INSERT /*+ APPEND */ INTO table SELECT whatever) instead.