Special cases for efficient enumeration of Hamiltonian paths on grid graphs? While the general problem of detecting a Hamiltonian path or cycle on an undirected grid graph is known to be NP-complete, are there interesting special cases where efficient polynomial time algorithms exist for enumerating all such paths/cycles?  Perhaps for certain kinds of k-ary n-cube graphs?  I hope this question isn't too open-ended...
Update - Is the problem of iterating Hamiltonian path/circuits known to be NP-complete for the N-cube?    
 A: There are certainly special graphs that are always Hamiltonian (if every vertex of a graph of n vertices has degree at least n/2, say) and these have efficient algorithms associated with them.
For instance, this paper proves the graph of a random 5-outregular digraph is Hamiltonian and there is an algorithm that finds a Hamiltonian cycle in polynomial time.
A: I can give a partial answer to the first question:

While the general problem of detecting
  a Hamiltonian path or cycle on an
  undirected grid graph is known to be
  NP-complete, are there interesting
  special cases where efficient
  polynomial time algorithms exist for
  enumerating all such paths/cycles?

If the grid graph is "solid," ie., has no holes, then there is a polynomial-time algorithm by Umans and Lenhart (paper here) that will find a Hamiltonian cycle, or reject the graph if no such cycle exists.  The algorithm first finds a maximum matching, and then decomposes the graph into "static alternating strips," both of which can be performed efficiently.  Production of the Hamiltonian cycle is achieved by changing the matching depending on how the static alternating strips are laid out.
While there may be exponentially many different H cycles, it is possible to enumerate them with polynomial delay (meaning only having to wait for a polynomial amount of time before outputting the next one) by changing the order in which one traverses the static alternating strips, and/or changing the underlying matching.  (Caveat: the enumeration algorithm may need to be more careful than my handwaving, to ensure only polynomially-many duplicate cycles are outputted before a new one is.  It seems, though, that one could simply build different cycles in parallel, and then prioritize the ones that deviate from one another.)
So hole-free grid graphs appear to be one such special case.
A: I  give a  reference for the following part of your question:

While the general problem of detecting
  a Hamiltonian path or cycle on an
  undirected grid graph is known to be
  NP-complete, are there interesting
  special cases where efficient
  polynomial time algorithms exist for
  enumerating all such paths/cycles?

In the following paper, the authors give a linear-time algorithm
for finding a longest path between any two given vertices in a rectangular grid graph.
F. Keshavarz-Kohjerdi, A. Bagheri, A. Asgharian-Sardroud: A linear-time algorithm for the longest path problem in rectangular grid graphs. Discrete Applied Mathematics 160(3): 210-217 (2012)
