Is this happening only for specific users?
I'm wondering if it could be related to the security settings for the table being queried. If a user does not have access to some of the fields, then they tend to get removed from the data set returned by the query/rdp class. Maybe that could account for why ABC field sometimes is not there?
I'm not ssrs expression expert, but according to the topic here msdn.microsoft.com/.../dd283100.aspx
you could try checking if the ABC field exists using the expression
Code.IsFieldMissing(Fields!FieldName).
Maybe try setting hidden to true if the expression above is true, else set it using the expression you currently have?
Hope this helps
Lance