field_info_instance returns empty in hook_uninstall
You don't need field_delete_instance separately, because field_delete_field has it inside.

According to deleted column in field_config (you can skip this value in field_config_instance if you're deleting whole field) debug field_delete_field function.