Sugar dates and NSPredicate

I have a problem when using Sugar’s dates when using them with NSPredicate. If I use the following:

var startDate,endDate : NSDate;
  endDate:= NSDate.date;
    var components: NSDateComponents := NSCalendar.currentCalendar().components((NSCalendarUnit.CalendarUnitDay or NSCalendarUnit.CalendarUnitMonth) or NSCalendarUnit.CalendarUnitYear) fromDate(endDate);
    var comps: NSDateComponents := new NSDateComponents;
    comps.setDay(1);
    comps.setMonth(components.month);
    comps.setYear(components.year);
    startDate := NSCalendar.currentCalendar().dateFromComponents(comps);
NSLog('start %@, end %@',startDate,endDate);
datePredicate:=NSPredicate.predicateWithFormat('visitDate>=%@ AND visitDate<%@',startDate,endDate);

then it works fine, and the start/end dates in NSlog look like this:

start 2015-03-31 23:00:00 +0000, end 2015-04-28 11:12:32 +0000

If I do this with Sugar:

  var startDate,endDate : Sugar.DateTime;
  endDate:= sugar.DateTime.Now;
  startDate:= endDate.AddDays(-endDate.Day+1);
  NSLog('start %@, end %@',startDate,endDate);
  datePredicate:=NSPredicate.predicateWithFormat('visitDate>=%@ AND visitDate<%@',startDate,endDate);

then it crashes with

-[DateTime timeIntervalSinceReferenceDate]: unrecognized selector sent to instance 0x7fc458e0bb30

and the format of the date is different:

start 01/04/2015 12:17:54, end 28/04/2015 12:17:54