SSIS Variables Do Not Like VarChar(Max)

I spent at least an hour trying to determine why I could not get SSIS to recognize the output of an "Execute SQL Task" when I tried to assign it to a Package scope variable. Come to find out that my sql table uses a column data type of "varchar(max)". Even though both applications are Microsoft and are designed to work together; SSIS does not like it when a table has a data type of varchar(max). As soon as I changed my data type for the column to varchar(8000) it works great.

    SSIS package "Package1.dtsx" starting.
Error: 0xC001F009 at Tier2Import: The type of the value being assigned to variable "User::ChildFileName" differs from the current variable type. Variables may not change type during execution. Variable types are strict, except for variables of type Object.
Error: 0xC002F309 at Execute SQL Task, Execute SQL Task: An error occurred while assigning a value to variable "ChildFileName": "The type of the value being assigned to variable "User::ChildFileName" differs from the current variable type. Variables may not change type during execution. Variable types are strict, except for variables of type Object.
".
Task failed: Execute SQL Task
SSIS breakpoint 'Break when the container receives the OnPostExecute event' at executable 'Execute SQL Task' has been hit