Ok, I followed your procedure to bind the TeamID into the checkbox. It now sort of works.
In my Team Table I have three teams A, B, C (TeamID 1,2,3)
When I open the insert page I will see all three teams listed (with no ticks) - Good
If I check only the last team (teamID = 3) then a row will be put into my table with the newly created playerID and teamid = 3
If I check all three boxes, and look at the link table only the last row has been inserted (in this case teamID=3)
If I check only the first two rows (Teamid 1 & 2) I get no entries in the link table.
So it seems that this code is only inserting the last value from the lookup table (Teams) into the LinkTable.
I repeated your suggestion with my Update Page and after manually adding into the linked table
playerID - TeamID
5 - 1
5 - 2
5 - 3
I opened the update page and would see all three teams displayed and checked - Good.
If I unchecked Team A (teamID =1) and click Update I noticed that the link table deleted both rows for TeamID 1 & 2 leaving on TeamID 3.
So by my testing even the Update Page will only manage the last record in the Teams table
I have attached the Insert / Update / Results pages as requested.