Since you are specifying exctly what layer you are interested in ("Base Map Layers\Bay, Lakes & Streams"), try leaving the [0] index off. The [0] being a refrence to the 1st item in a list, but this time you are only expecting one item anyway...
So instead of:
updateLayer = arcpy.mapping.ListLayers(mxd, "Base Map Layers\Bay, Lakes & Streams", df)[0]
try
updateLayer = arcpy.mapping.ListLayers(mxd, "Base Map Layers\Bay, Lakes & Streams", df)
If that idea doesn't work try:
updateLayer = arcpy.mapping.ListLayers(mxd, r"Base Map Layers\Bay, Lakes & Streams", df)[0]
instead of
updateLayer = arcpy.mapping.ListLayers(mxd, "Base Map Layers\Bay, Lakes & Streams", df)[0]
Since Python doesn't like the "\" symbol... You need to either use "\\", "/", or my favorite r"\".
Also, I have seen weird things happen then map layers contain special characters such as "&".
Hope something here helps.