The cascade setting will only work in one direction, so if you put it on the OneToMany relationship you can remove entities from the collection without fear of deleting the parent.
As for the second question, if you have CascadeType.ALL set, then you won't be able to set the ManyToOne side because it will be deleted when the other side is deleted.
Hope that helps :)
Yes, that helps a lot. It may explain why I was seeing some problems. I will have to experiment more.