TxComponent has a property Links, which returns you a TxObjectList with all definied links in the component. If Component has no defined links, it will return empty list or null.
A device is a component with a kinematic. So, device has per definition a links and jointa and component can have links and joints.
You can add kinematic to the component, by definng at least two links and one joint.
yes, it is possible, that components doesn't have a kinematic links.
In order to get all geometries in a component use GetAllDescendants function with filter on ITxGeometry:
TxObjectList geometries = component.GetAllDescendants(New TxTypeFilter(GetType(ITxGeometry)))