No, there aren't any dangers of losing values stored in ViewBag. Any value that a controller action writes to the ViewBag is absolutely guaranteed to be available in the corresponding view. The ViewBag is a short-living object store to transport values from the controller action to the view.
Personally I find it very bad practice to use as it is weakly typed. I always prefer to use a strongly typed view model whenever I need to pass some information from a controller action to the view.