Have you tried the following:
assert(typeof(a)==Array{Float64, 2})
assert(3==size(a,1))
b=unsafe_wrap(Array, reinterpret(Ptr{SVector{3, Float64}},pointer(a)), (size(a,2),), false);
Of course this is a dirty workaround and requires you to possibly @gc_preserve a.