Indeed you are correct, and it evaluates fine in an identifier without the use of $+'s. The are just two reasons i can think of why that error with describe would occur. First is if they are trying to read from a file that does not exis, and second would be if the path contains a comma.

To solve an issue with comma's in path's, simply assign the path to a local variable and then use the variable in the $read. Try it like this SonnyZA.

Code:
on *:TEXT:*:*: {
  if (lol isin $1-) {
    var %dfile .\txt\lol.txt
    describe $target $read(%dfile)
  }
}