Basically I have a column named XML that is of type TEXT; this cannot be changed for other reason, but I was wondering how I could cast it to XML.<
Your problem is: you have XML with an encoding="utf-16", but your column is a non-Unicode column......
Assuming that you cannot change it to NTEXT either, you have to do two nested CAST to achieve what you're looking for:
SELECT
CAST(CAST(XML AS NTEXT) AS XML).value('(/Record/UserGuid)[1]', 'NVARCHAR(max)')
FROM
tbl_Module_RequestForms_Items
First, you need to cast to NTEXT (or NVARCHAR(MAX)), and then you have to cast that result to XML, before you can use it.
Tip: remove those "other reasons" and convert this to XML datatype if you really need to use it as XML .....