Haskell, 90 7575 72 bytes
a[i]|d:n<-[[i|n<-i,n==a]|a<-i]=and[[i]<d,[d|i<-n]==n]--aadd,,,,:::::<=||
Each character appears 6 times. The input string is taken as a singleton list.
For reference, old versions:
75 bytes, each char 5 times
n(l)|d<-[[0|n<-l,n==a]|a<-l]=and[[0]<d!!0,all(==d!!0)d]--an!((())),,,0<[]||
Each character appears 5 times.
For reference: old version, 90 bytes, each char 3 times:
a x|h:u<-[sum[1|d<-x,not(d/=c)]|c<-x]," \"\\&,../1::>acdlmmnosst">[]=h>1&&all(not.(/=h))u