I found the answer. Variables created that way (not using select) are considered Reference Tree Fragment (http://msdn.microsoft.com/en-us/library/4wwc9138.aspx).
It's still possible to use the variable content the normal way, although the object will be a RTF.
Now, If you have a list of nodes, you have to transform the variable to a NodeSet and then call the nodes() function like
msxsl:node-set($myvariable)/node()
Then it will be just like creating a variable with the select argument.