What happens if You change variable declaration to
Declare @BeginDt as bigint = 20140101
Declare @EndDt as bigint = 20140430
Declare @LotNo as nvarchar(15) = N' 000000113855'
and execute query after the change. Especially notice varchar -> nvarchar change.
If query is slow after this change please attach execution plans for queries with both variable sets.
This looks like case where implicit conversion from nvarchar to varchar causes table/index scan instead of seek.