Infact the halfvector is being calculated in the vertex shader, but since texcoords are automatically clamped between 0 and 1 in ps_1_1, I had to compress the halfvector to [0..1] and expand it again in the pixelshader. It doesn't seem to be a problem though, the compiler doesn't complain.

This is what it looks like in ps_2_0 with normalize: Image
This is what it looks like when I use cubemap normalization: Image
And the cubemap: Image

I'm not mipmapping the cubemap (I don't use bmap_to_mipmap and it's not a .dds image).