Any Clues.. anyone?
Your fill method is wrong on the cities. Try this instead:
Public Sub FillCityByState(ByVal StatePrimaryKey As Integer) Me.FillDataTable("SELECT * FROM tb_cidade WHERE cidade_estado_id = " & StatePrimaryKey.ToString())
The code you had referenced its own property which was causing the error you described. Try this and let me know how it goes.