If the source is disconnected from some nodes, their distances stay infinite. That is correct behavior, not a bug. Bellman-Ford only finds distances to reachable nodes. If you forget to check negative cycle reachability in problems like High Score, you will output wrong answers even with correct cycle detection.
Always verify if the cycle affects the path you care about. Always verify what the problem asks: shortest path existence, cycle detection, or both. Some problems want the shortest path if it exists, others want to know if a finite path exists at all.