Not sure if this is a silly question, but I just noticed this:
public interface IActivityDao : IDao
{
IList GetAllSinceSe
I would imagine this is due to the named parameters feature in C#. Ie, you need to be able to specify parameters by name, not just in the default order:
IActivityDao dao;
dao.GetAllSinceSequence(count: 1, sequence: 2);
Of course, the parameter names would be different if the object is cast as your instance.
var concreteDao = (ActivityDao) dao;
concreteDao.GetAllSinceSequence(maxRecords: 1, sequence: 2);