There are numerous examples of models of computation in which all programs halt, for example primitive recursion. 

Are there (non-trivial) examples of models in which only some programs halt, but the halting problem is still decidable? 

Does the decision procedure need to lie outside of the original model itself?

EDIT:

Carl Mummert gives very good example of a model of computation that has this property. But the example of polynomially clocked Turing machines is weaker than primitive recursion. 

Are there examples which are stronger than primitive recursion?