Technically it was the Nazarite law, not God's laws, so that law could be either accepted or not, unlike God's laws where He basically said "do this or else". So if you break a Nazarite law (after accepting the vow, of course) you have to offer a bunch of sacrafices and stuff, but yeah, it wasn't always a sin to cut your hair.
I'd say long hair would be below shoulder-height in the back and mid-ear length on the sides. My hair is shoulder-height and around the bottom of my ears, right now.