I think you will find (if you'll pardon the pun) that it is searching for the word MyCriteria rather than the result of MyCriteria's value.
I've never used that particular construct but general programming experience in VBA and other languages tells me that you should:
Try appending MyCreteria into the find e.g.
DataEnvironment1.rsCommand1.Find "DEF_SUR = '" & MyCriteria & "'"
See how you go with that!