For the integer trick to work, you need beta v1.6.1.1 or higher, otherwise it will indeed not convert it, and not set the integer.
Alternatively, we can treat the value as a string and simply use only the part we want:
Set date [TargetDate] value to 13/07/2017 16:44:49
Set integer [DaysToTarget] value to the converted value of {TXTSUBSTR:"{EXP:({DATETICKS:TargetDate} - {DATETICKS}) / 864000000000}":0:{TXTPOS:".":"{EXP:({DATETICKS:TargetDate} - {DATETICKS}) / 864000000000}":"0"}}
Say, 'Your birthday is in {INT:DaysToTarget} days'
That sequence of tokens will select from the start of the value to the decimal point, so the fractional part is cut off.
The advantage is that this will work with v1.6, provided the "Use Nested Tokens" option is checked(which it is by default).