Childportals do not give a good portalid back to linkclick.aspx for some reason so you can fix this by commenting out the last line in the sp getbanner like so:
CREATE procedure dbo.GetBanner
@BannerId int,
@VendorId int,
@PortalID int
as
select Banners.BannerId,
Banners.VendorId,
'ImageFile' = case when Files.FileName is null then Banners.ImageFile else Files.Folder + Files.FileName end,
Banners.BannerName,
Banners.Impressions,
Banners.CPM,
Banners.Views,
Banners.ClickThroughs,
Banners.StartDate,
Banners.EndDate,
'CreatedByUser' = Users.FirstName + ' ' + Users.LastName,
Banners.CreatedDate,
Banners.BannerTypeId,
Banners.Description,
Banners.GroupName,
Banners.Criteria,
Banners.URL,
Banners.Width,
Banners.Height
FROM Banners
INNER JOIN Vendors ON Banners.VendorId = Vendors.VendorId
LEFT OUTER JOIN Users ON Banners.CreatedByUser = Users.UserID
left outer join Files on Banners.ImageFile = 'FileId=' + convert(varchar,Files.FileID)
where Banners.BannerId = @BannerId
and Banners.vendorId = @VendorId
-- AND (Vendors.PortalId = @PortalID or (Vendors.PortalId is null and @portalid is null))
GO