It is possible that this part of your IF statement here
[Product Option] = "Trademark & Package Size","&_fid_50=" & URLEncode([Related Trademark])
Is looking for the value, exactly spelled Trademark & Package Size
Maybe that is not exactly what it has in the field so that part of the IF is not triggering. I suggest that you make a new formula text field equal to this button field and then you will have a debug field to be able to examine the result of that long formula. Then you will see if in fact the formula is trying to put something into field 50 and if so, what is trying to put into there.