I believe it has to do with your subscription not being ready when that helper function is first being executed.
Since your sub isn’t ready your findOne() won’t match any data as there isn’t any. The reason why the name still shows up in the template and console, is that template helpers are basically Tracker.autorun and the findOne() creates a reactive dependency. So as soon as the data becomes available and your findOne() ‘sees’ the data, it will re-run.
Try to wait for the sub to be ready and you shouldn’t get an exception.