For a non-spatial table:
cast(substr(extractvalue(fields.column_value,'/Subtype/SubtypeCode'),1,255) as number(9,0)) as code,
substr(extractvalue(fields.column_value,'/Subtype/SubtypeName'),1,255) as description
table (xmlsequence(xmltype(definition).extract('/DETableInfo/Subtypes/Subtype'))) fields
IFeatureLayer does not implement IObjectClass but IFeatureLayer.FeatureClass does, which is why your cast to IObjectClass MiObjeClassTabla is Null. Likewise if your mxdocRDC.SelectedItem is a standalone table is likely to be of type ITableView, from which you can access the underlying table using (mxdocRDC.SelectedItem as ITableView).Table.
I would suggest ...