You can use getNodesByClass method to get all nodes of a certain class in a Python list.
slicer.mrmlScene.GetNextNodeByClass() failed for you because traversing the MRML node list is initialized by slicer.mrmlScene.InitTraversal() method call (and not GetFirstNodeByClass). We kept the method for only backward compatibility. Documentation of how to use it was removed because it could have encouraged people to use it.
VTK errors are not printed on the Python console. It is not a bug, but I agree that it could be a useful feature to have. We would probably not want to flood the console with log VTK messages all the time, so I’m not sure what the expected behavior would be.