My best guess would be that the open() function cannot use an object of the String library as a parameter. Have you tried using C style strings, ie zero terminated arrays of chars instead ?
Try: myFile = SD.open(titlesbuffer[0].c_str()); // doesn't work
That will give you a temporary character pointer that points to the contents of the String.
Thank you all for replying
The problem was that the text in the titlesbuffer included carriage returns and line feeds
Removing the Carriage Returns solved the problem
So myFile = SD.open(titlesbuffer[0]); WORKS NOW!