It may not be working without any errors as they are just ignored when using -erroraction silentlycontinue. If you remove that, what are the errors? You will still get the errors if you are using -WhatIf
I think this is different than what you originally had posted. You were getting objects back, datarows, from Invoke-Sqlcmd or something like that.
Not sure if you are running into the same thing but you would want to check the type of $RowDelete, Try doing a $RowDelete.GetType() to make sure you are dealing with string values. The name in the output values tells you the type.