It seems like when you destroy the weld to the lid, you’re doing it before changing the crates position, which means the unanchored lid is in its old position. Try destroying the weld after adjusting the crate to the new position.
LidGoPos = Crate.LidGoPos.CFrame -- The location you want to tween to is defined here, while the crate
crateTween = TweenService:Create(Crate.PrimaryPart, TweenInfo.new(1, Enum.EasingStyle.Bounce), {CFrame = FallingCratePos})
crateLidTween = TweenService:Create(Crate.Lid.PrimaryPart, TweenInfo.new(0.5, Enum.EasingStyle.Back), {CFrame = LidGoPos}) -- the tween would then adjust it to the old spot
Crate.PrimaryPart.CFrame = StartingCratePos -- You adjust the position of the crate after the fact