The biggest difficulty is that blocks can range widely in extent, from portions of a city block (only a few tens of meters across) to many kilometers in rural areas. When the cellsize is not small enough to capture every single block polygon (or centroid) and uniquely represent it, data will be lost--and lost in a biased fashion (that is, in regions of high population density). However you proceed, the key is to avoid this data loss. Unfortunately, using a sufficiently small cellsize can be prohibitively expensive when the study region is of large extent, creating a grid with very large numbers of rows and columns.
One of the more convenient solutions is first, as a preliminary matter, to convert the block polygons to a raster at the smallest practicable cellsize. The values in this raster are the polygon identifiers. By joining the raster attribute table to the original polygon attribute table you can identify any blocks that are not represented on the raster. A spatial join of those missing blocks to the nearest blocks that are represented will enable you to add the populations of the missing blocks into blocks that are on the raster. In this fashion, when the conversion to raster is redone using the (adjusted) block populations for the values, all the population will be counted within that raster. As a check, its total population should equal the total population of the original block features.
At this point, divide the populations in the raster by the block areas as computed in the original raster itself. (These block areas can be found by multiplying the [count] field in the raster by the square of the cellsize.) This division thereby produces a raster of population densities. If you used a very small cellsize, you might want to aggregate these densities onto a coarser grid for further analysis. Use a cellsize that is an integral multiple of the original cellsize (to avoid resampling issues) and request the mean as the aggregation statistic.
As a final check, the sum of all values in this population density grid, when multiplied by the square of the cellsize, should be very close to the original total population. (Some small error, typically around one to ten parts per million of the total, usually arises due to single-precision floating roundoff.)
An alternative solution performs the conversion of blocks to raster using a set of different grids adapted to the cities and the countryside and then aggregates these and mosaics them.
Solutions based on block centroids are usually not advisable due to the widely varying spacing between blocks and because the same problems pertain in the high-density areas: points that fall into a common grid cell are often lost (although improvements to Spatial Analyst might have overcome that problem by now, or will overcome it in the future).