I have a similar problem right now.
I am unable to set the bed spawn point except in 2 special circumstances.
I have tried using
player.setSpawnChunk(bedPos, true, playerDimension);
and
player.setSpawnPoint(bedPos, true);
The only times I can sucessfully set a bed spawn point is when
1. A new map where no bed point has been set.
or
2. A player death where an actual bed was slept in then destroyed or removed before the death.
This resets its ability to set a bed location with either function above.
Both functions seem to set a set of variables or a set of HashMap in EntityPlayer. But these do not seem to be updating what Minecraft seems to be actually using to determine where to spawn players.
This looks like a BUG either in Forge or Minecraft 1.8.
(ATTENTION FORGE DEV TEAM?)
I also tested for this problem in Minecraft 1.7.10 and that version works well.
I need this fixed now as well for one of my mods I am trying to sucessfully code for Minecraft 1.8.
http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2131444