Firstly, thanks for confirming that I'm not going insane - the 'losing postings' is happening to me quite a bit, and the time out seems to be reasonably short. I've taken to writing the msg, select all then copy, so if i goes MIA i can paste it back in again.
With your dynamic query (assuming MSSQL as a datasource), you need the whole statement in double quotes and an equals at the start (ie outside the first double quote). Remember that your userid needs to be seen by your MSSQL datasource as a string, so it need single quotes. Also remember that unless you let VS do the line wrapping, you need to close off each line with a dble quote and then start the next line with an ampersand and then another double quote. Remember to leave your lat character of the previous line as a space, or the first character of the new line. A really simple example (that works) is below:
= " SELECT ' " & User!UserID & " ' AS Col1"
I added some additional spaces in there to make the different quotes obvious, normally you'd have no space between the (MSSQL string encapsulating) single quote and the (VB.Net) string encapsulating double quote. Remember when using dynamic SQL it's easiest to write/generate a dummy query first to populate the field list and then mod it to be what you really want. Also, it looks like you already have but in case, ignore the .Value I added to the UserID in my first post, it's not required.
If you still have issues can you post your dynamic query?