After deleting a device from NFA you must do a full resync of the NFA Data Source in CAPC in order for the device to be removed from CAPC.
If this does not work please check the \CA\NFA\Reporter\logs\ProductSyncWS*.log and search for the word "Exception" and you may see the messages below:
15:27:08 5 - Pull: Checking for deleted routers...
15:27:08 3 - Pull - :
Column 'routerId' does not belong to table Table.
System.ArgumentException: Column 'routerId' does not belong to table Table.
at System.Data.DataRow.GetDataColumn(String columnName)
at System.Data.DataRow.get_Item(String columnName)
at NetQoS.ReporterAnalyzer.Data.ReporterAnalyzer.AgentDeletedDc.GetDeletedRoutersByID(Nullable`1 startTime, Nullable`1 endTime)
at NetQoS.ReporterAnalyzer.Business.ProductSync.Sync.Pull_Item_Routers_Deleted(PullDataHandlerState state, SyncTime syncTime, SyncUpdateState syncUpdateState)
at NetQoS.ReporterAnalyzer.Business.ProductSync.Sync.PullRequest(SyncTime syncTime, SyncUpdateState syncUpdateState)
15:27:08 5 - Pull: Checking for deleted interfaces...
15:27:08 3 - Pull - :
Specified cast is not valid.
System.InvalidCastException: Specified cast is not valid.
at NetQoS.ReporterAnalyzer.Business.AgentDeleted.InitializeFromDataRow(DataRow row)
at NetQoS.Business.DatabaseEntity.GetDatabaseEntityArrayFromDataTable[T](DataTable table)
at NetQoS.ReporterAnalyzer.Business.ProductSync.Sync.Pull_Item_Interfaces_Deleted(PullDataHandlerState state, SyncTime syncTime, SyncUpdateState syncUpdateState)
at NetQoS.ReporterAnalyzer.Business.ProductSync.Sync.PullRequest(SyncTime syncTime, SyncUpdateState syncUpdateState)