Command blocks are used with /give to give a player a "starter kit" on my server on their first join and set their spawnpoint with /spawnpoint. I recently tried to teleport them to the default spawn (they don't spawn there on first join). This causes the items from the starter kit to drop where they first spawned. I have confirmed that this happens every time. Setting the scoreboard objective used to keep track of joins for myself to 0 (using the console while I was offline) and then joining again always causes the kit to drop where I had been standing. This bug exists in Creative and Survival, and probably Adventure as well.
Sorry for any run-on sentences, I always have trouble with those.