It appears from the source that if you define an attribute as a 'primaryKey', the DAO interface will remove the default 'id' field in preference to your own primary key.
See line 1140 or thereabouts in dao-factory.js where:
var addDefaultAttributes = function() {
var self = this
, defaultAttributes = {
id: {
type: DataTypes.INTEGER,
allowNull: false,
primaryKey: true,
autoIncrement: true
}
}
if (this.hasPrimaryKeys) {
defaultAttributes = {}
}
... etc. ...