Naja, der grundlegende Unterschied zwischen "reload" und "update" ist, dass bei einem reload alle vorhandenen events verworden werden und der Kalender komplett neu geparst wird. Bei einem update erfolgt dieses Löschen nicht, daher kommen Deine Meldungen wegen "duplicate events".
Für mich ist "reload" immer die bessere Lösung, da sie klare Verhältnisse schafft.
Dass ein update-Attribut auf 0 gesetzt auch das manuelle Update verhindert, ist vermutlich so gewollt.
Da gibt es im Code keine Unterscheidung, ob die Aktualisierung von einem internen Timer angestoßen wird oder manuell per set Befehl.