When I try your code as-is and execute the proc I am not seeing any locks opened against TableB which is what I would expect since no FK columns are being affected. Did you maybe pare down the proc too much? Does the actual proc also contain ObjectID in the SET-column-list?
After changing your sample proc in this way I was able to start seeing locks opened on TableB due to the FK with ON DELETE CASCADE.
ALTER PROCEDURE [dbo].[spUpdateObjectHeader]
@objectID INT,
@ColG VARCHAR(64),
@ColH VARCHAR(64),
@ColI VARCHAR(64),
@ColD DATETIME
AS
UPDATE TableA
SET [ColG] = @ColG,
[ColH] = @ColH,
[ColI] = @ColI,
[ColD] = @ColD,
[ObjectID] = @objectID
WHERE [ObjectID] = @objectID;
PS You may want to update your original post and remove a USE statement that still contains what looks like real info.
There are no special teachers of virtue, because virtue is taught by the whole community.
--Plato