Module note, note.py, line~ 82.
If your create Note with stage, function _get_default_stage_id return first stage. But note not create yet and access rule say "access denied".
Why get first stage? Because before if you add new note and you have some stages but you not set stage manual when create note, system put note to "undefined" stage. And it way to can't show Note. After sometime, add new futures - it possible show new note with "undefined" stage in first stage. It works. Onetime it stop working. But you remember we have possible show note with "undefined" stage.
If some change
def _get_default_stage_id(self,cr,uid,context=None):
ids = self.pool.get('note.stage').search(cr,uid,[('user_id','=',uid)], context=context)
#return ids and ids[0] or False
return False
Now create new note with "undefined" stage, save that. After you can change stage what you wont.