I don't have the book, but from what I understand from your question, you take a discrete desired frequency response with $32$ elements, apply an IDFT to get a $32$-tap filter, and then you remove taps to see the effects of truncation in the time domain. Well, this is not exactly what the window design method is about, and it is no surprise that if you don't remove filter taps in the time domain and apply a DFT that you get back your desired $32$-tap frequency response (because, as you've figured out yourself, IDFT and DFT are inverse operations of each other).
However, your actual frequency response does not have $32$ values in the frequency domain but it is continuous in frequency. It is given by the discrete-time Fourier transform (DTFT):
where $N$ is the number of time domain taps (filter length), and $h[n]$ are the filter coefficients. You can compute a sampled version of $(1)$ by using the DFT, and for example, if $N=32$, you can (and should) compute more than $32$ frequency domain samples by using zero-padding. In Matlab/Octave, you can use the commands
freqz to compute sampled versions of $(1)$ with an arbitrary number of frequency domain samples.
To help you improve your understanding of the window method, and of DSP in general, I would like to recommend to you a really good (and free) book: Introduction to Signal Processing by S.J. Orfanidis.
Also take a look at this answer, this answer and this answer to related questions.