Often when I have validation messages like this, I will take the suspect input and run it through the Calculate Value tool to convert it into the data type the tool is expecting, for example:
Expression:
r"%Geodatabase Name%"
Date type: String
I am wondering though whether the name of the first geodatabase is not passing validation due to special characters, in which case you can get fancier with Calculate Value
Expression:
f(r"%Geodatabase Name%")
Code block:
def f(nm):
return arcpy.ValidateTableName(nm)
Data Type: String
Another approach to handling validation problems with ModelBuilder (which crop up often as schema validation code [mine and Esri's] can be buggy) is to bypass ModelBuilder pre-run validation by running tools inside Calculate Value:
Expression:
f(r"%Geodatabase Name%", r"%Workspace%")
Code block:
def f(nm, wk):
r = arcpy.ExportDataChangeMessage_management(...)
return r.getOutput(0)
Data Type: String
One more thing: I may be missing something but I don't think Stop and Continue are necessary, the model will iterate and end after the last iterator pass without them.